login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zoeken in meerdere MySQL tabellen.

Offline Mmore - 12/03/2006 11:23
Avatar van MmoreMySQL interesse Ik gebruik op het moment:

$sql = "SELECT ID,Name1, Name2, Name3, Name4 FROM guestbook WHERE Name2 LIKE '%$HTTP_POST_VARS[zoekterm]%'";

Ik wil dat hij zoekt in de "Name1, Name2, Name3 en Name4" tabellen en niet alleen in "Name2". Als ik achter "WHERE" al deze tabellen op noem krijg ik de volgende error:

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Server\Apache2\htdocs\Meth\resultaat2.php on line 27"

Enig idee hoe ik op deze manier in meerdere tabellen kan zoeken? Alvast bedankt.

8 antwoorden

Gesponsorde links
Offline gothmog - 12/03/2006 11:33
Avatar van gothmog Lid hoe zet je die verschillende tabellen er precies achter?

dit moet wel kunnen:

$sql = "SELECT ID,Name1, Name2, Name3, Name4 FROM guestbook WHERE Name2 LIKE '%$HTTP_POST_VARS[zoekterm]%' AND Name 3 LIKE '%$HTTP_POST_VARS[zoekterm]%'";

je meot er namelijk AND tussen zetten
Offline ikkedikke - 12/03/2006 11:36
Avatar van ikkedikke PHP expert nee, OR 
Offline Mmore - 12/03/2006 11:36 (laatste wijziging 12/03/2006 11:39)
Avatar van Mmore MySQL interesse Krijg ik nog steeds dezelfde error, en het werkt ook niet.

Citaat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:ServerApache2htdocsMethresultaat2.php on line 26


Zelfde met OR 

Tabel ziet er zo uit:
id | Name1 | Name2 | Name3 | Name4
-------------------------------------
1 | Joey | Tom | Piet | Klaas

Ik wil dus als ik naam "Joey" zoek als resultaat die hele rij krijgen, en als ik naar Tom zoek ook. Nu lukt het met wel als ik maar in één tabel zoek, bijvoorbeeld alleen "Name1" maar het wil niet lukken als ik in al die tabellen zoek
Offline Rens - 12/03/2006 11:40
Avatar van Rens Gouden medaille

Crew algemeen
http://www.site...cat=2#faq3
Offline Dolfje - 12/03/2006 11:41
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
die warning komt er omdat je geen goede resource meegeeft.

$result = mysql_query("jouw query");
$num_rows = mysql_num_rows($result);

zo moet je het doen.
Offline Mmore - 12/03/2006 11:43
Avatar van Mmore MySQL interesse Ik ben eruit Bedankt voor jullie reacties.. De code is nu:

  1. $sql = "SELECT * FROM guestbook WHERE Name1 LIKE '%$HTTP_POST_VARS[zoekterm]%' OR Name2 LIKE '%$HTTP_POST_VARS[zoekterm]%' OR Name3 LIKE '%$HTTP_POST_VARS[zoekterm]%' OR Name4 LIKE '%$HTTP_POST_VARS[zoekterm]%'";
Offline Rens - 12/03/2006 11:45
Avatar van Rens Gouden medaille

Crew algemeen
Nee, geen $HTTP_POST_VARS:|
Gebruik $_POST!
$HTTP_POST_VARS is oud, $_POST is nieuw.
Je moet superglobals gebruiken i.p.v. die ouwe troep!

En je moet je vars buiten quotes houden!
Offline Mmore - 12/03/2006 11:47
Avatar van Mmore MySQL interesse Mwa.. Ik heb deze code van uit een tutorial geleert, en het werkt dus dan vind ik het wel best.. Ik zal als ik vanmiddag terug ben (Ga zo naar voetbal) kijken naar die superglobels en het eventueel omzetten! Bedankt! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.192s