Problem mit SQL Abfrage

boeckerl

Grünschnabel
Mein Problem ist folgendes:

Über ein Formular werden Daten an php Script übermittelt. Der SQL Befehl sieht nun foldermassen aus:

PHP:
<?php 
echo "\"$name\" \"$filiale\" \"$abteilung\" \"$telnr\" ";
echo "<br>";

include ('../zugriff/connect.inc.php');
$query = "select pers_name, pers_kurzw, pers_abteilung, pers_handy, pers_filiale 
		  from pers 
		  where pers_name LIKE '%$name%'OR
		  where pers_filiale LIKE '%$filiale%' OR
		  where pers_abteilung LIKE '%$abteilung%'OR
		  where pers_name LIKE '%$telnr%'OR
		  order by 1 desc";
$result = mysql_query($query) or die ("keine Daten vorhanden");
echo "<table width= '100%' class = 'newstextinnen'>\n";
echo "<tr>";
echo "<td width = '30'> <b> Name </b> </td>";
echo "<td> <b> Kurzwahl </b> </td>";
echo "<td width = '35'> <b> Handynr. </b></td>";
echo "<td> <b> Abteilung </b> </td>";
echo "<td> <b> Filiale </b> </td>";
echo "</tr>";

while ($row = mysql_fetch_row($result))
{
echo "<tr>";
	foreach ($row as $col_value)
	{
	echo "<td> $col_value </td>";
	}
echo "</tr>";
}
echo "</table>\n";
mysql_close();
?>

Die Werte der Variablen werden übermittelt (werden mit echo"" oben ausgegeben!) Daten werden jedoch keine angezeigt! Wenn ich jedoch im SQL Statement die ganzen OR Verknüpfungen entferne und nur eine where Bedingung abfrage funktioniert es?

Hab ich beim SQL - Befehl einen Fehler gemacht

Danke schon mal im Vorraus für eure Hilfe.
 
Deine SQL-Abfrage ist syntaktisch falsch.

Das ganze müsste so aussehen:

Code:
SELECT
    foo
FROM
    bar
WHERE
    foo LIKE '%moep%' OR
    blub LIKE '%moep%' OR
    ....

Den genauen Syntax, kannst du dir hier nachlesen.

greets
 
Genau, Du brauchst nur das erste "where" alle anderen sind falsch und müssen aus dem select Statement entfernt werden! (siehe dazu auch hier)

redlama
 
Zurück