PHP Suchfunktion innerhalb einer MySQL-DB

TheJoker

Grünschnabel
Guten Tag

Ich schreibe gerade eine relativ umfangreiche Webapplikation zur Auftragsverwaltung.

Nun benötige ich dazu eine Suchfunktion.
Ich hab schon gegooglet und die Forensuche benützt. Dabei habe ich auch mehrere sachen gefunden, sah allerdings immer in etwa so aus, wie ich mir das gebastelt habe.

Das Problem bei meinem Script ist, dass es keine Exception wirft. Sprich der Code ist I.O. Es muss demach ein Logisches Problem der Abfrage sein.

Die Abfrage Joint mehrere Tabellen zusammen zu der Tabelle Auftrag.

PHP:
$search = char($_POST['sufu_auftrag']);
		
$sql = "SELECT a.aid, a.startdatum, a.enddatum, v.vid, v.titel, v.text, g.gid, g.beschreibung, u.uid, u.name, k.kid, k.vorname, k.nachname, s.sid, s.status, p.pid, p.name, a.erfasst, a.letzte_durchfuehrung, a.aktiv
	FROM auftrag a
	JOIN vorlagen v ON v.vid = a.vorlagen_vid
	JOIN geraete g ON g.gid = a.geraete_gid
	JOIN user u ON u.uid = a.user_uid
	JOIN kunden k ON k.kid = a.kunden_kid
	JOIN status s ON s.sid = a.status_sid
	JOIN produkte p ON p.pid = a.produkt_pid
	WHERE
	a.aid LIKE '%".$search."%'
	OR k.kid LIKE '%".$search."%'
	OR k.vorname LIKE '%".$search."%'
	OR k.nachname LIKE '%".$search."%'";
$query = mysql_query($sql);
if(!$query)
	throw new Exception(mysql_error());
echo mysql_num_rows($query);
while($row = mysql_fetch_assoc($query))
{
	echo "workz";
}

Das Script läuft durch, und mysql_num_rows gibt 0 aus, sprich es wird nichts ausgelesen.

Die Frage ist nur: Warum:eek:

Ich hoffe, Ihr könnt mir helfen.

lg Joker
 
Hi

Danke für die schnelle Antwort.

Ich habs mal durchgetestet: Gleiches Resultat wie bei num_rows -> 0 Treffer (ich hab verschiedene Zeichen ausprobiert um danach zu suchen)

Der Fehler liegt demfall definitiv im Script...

lg Joker
 
Zuletzt bearbeitet:
Kopf -> Tisch

Da grübel ich Stunden dran rum...
Vielen Dank Maniac. Das wars!

Oh man, und dabei wars so was simples -.-'

Naja vielen Dank, du hast mir den Tag gerettet :D

lg Joker
 
Nein, bei einem JOIN geht mysql davon aus das nur die Felder angezeigt werden welche auch Daten beinhalten. Bei einem LEFT JOIN können auch bei selektierten Feldern keine Daten enthalten sein, aber die anderen Felder werden trotzdem angezeigt.
 
Zurück