Hallo,
ich verwende bei einer SQL Abfrage bei "Where" für die Spalte die Variable $branche.
Der Wert kommt aus einem Formular mit Drop Down Menu. Die erste Abfrage funktioniert. Beim weiterblättern gibt mysql_error() folgende Fehlermeldungen aus:
[COLOR="Red"]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'x' LIMIT 2, 2' at line 3
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in K:\htdocs\test\suchen.php on line 46
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in K:\htdocs\test\suchen.php on line 63
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'x'' at line 3[/COLOR]
Wenn ich der Variable $branche direkt den Wert "tonstudio" zuweisen, funktioniert das Script ohne Probleme. Ich vermute den Fehler im mysql Query, bin mir aber nicht sicher, weil die Gegenprobe (Variable direkt zuweisen) keinen Fehler zeigte.
Hier mal der Quelltext. Was mache ich falsch?
Danke für Eure Hilfe.
ich verwende bei einer SQL Abfrage bei "Where" für die Spalte die Variable $branche.
Der Wert kommt aus einem Formular mit Drop Down Menu. Die erste Abfrage funktioniert. Beim weiterblättern gibt mysql_error() folgende Fehlermeldungen aus:
[COLOR="Red"]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'x' LIMIT 2, 2' at line 3
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in K:\htdocs\test\suchen.php on line 46
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in K:\htdocs\test\suchen.php on line 63
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'x'' at line 3[/COLOR]
Wenn ich der Variable $branche direkt den Wert "tonstudio" zuweisen, funktioniert das Script ohne Probleme. Ich vermute den Fehler im mysql Query, bin mir aber nicht sicher, weil die Gegenprobe (Variable direkt zuweisen) keinen Fehler zeigte.
Hier mal der Quelltext. Was mache ich falsch?
Danke für Eure Hilfe.
PHP-Code:
<form action="<?php $PHP_SELF ?>" method="POST">
<select name='branche'>";
<option value='label'>Label</option>";
<option selected value='tonstudio'>Tonstudio</option>
</select>
<input type='submit' value='suchen' name='suchen'>
</form>
<?php
//Abfrage auf welcher Seite man ist
$seite = $_GET["seite"];
//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
if(!isset($seite))
{
$seite = 1;
}
//Einträge pro Seite: Hier 2 pro Seite
$eintraege_pro_seite = 2;
//Ausrechen welche Spalte man zuerst ausgeben muss:
$start = $seite * $eintraege_pro_seite - $eintraege_pro_seite;
//Verbindung zur Datenbank aufbauen
include "inc/connect.php";
$branche = $_POST ["branche"];
//$branche= 'tonstudio';
//Tabelle Abfragen
$abfrage = mysql_query
("
SELECT *
FROM tonstudios
WHERE $branche = 'x'
LIMIT $start, $eintraege_pro_seite
");
echo mysql_error();
$ergebnis = $abfrage;
//Ausgabe Ergebnisse
while($row = mysql_fetch_object($ergebnis))
{
echo $row->firma;
echo $row->plz;
echo $row->ort;
}
//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5
$result =mysql_query
("
SELECT *
FROM tonstudios
WHERE $branche = 'x'
");
$menge = mysql_num_rows($result);
echo mysql_error();
//Errechnen wieviele Seiten es geben wird
$wieviel_seiten = $menge / $eintraege_pro_seite;
//Ausgabe der Seitenlinks:
echo "<div align=\"center\">";
echo "<b>Seite:</b> ";
//Ausgabe der Links zu den Seiten
for($a=0; $a < $wieviel_seiten; $a++)
{
$b = $a + 1;
//Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
if($seite == $b)
{
echo " <b>$b</b> ";
}
//Aus dieser Seite ist der User nicht, also einen Link ausgeben
else
{
echo " <a href=\"?seite=$b\">$b</a> ";
}
}
echo "</div>";
?>
Kommentar