DB abfrage problem

webhoster

Mitglied
Ich bekomme folgende Fehlermeldung

Fehler in Zeile 5 in /home/t/traumlandverlag.de/public_html/shop/detail.php
MySQL-Error: 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 '' at line 1


Das ist mriner Abfrage
$$q = mysql_query("SELECT * FROM buecher WHERE BuchID = $BuchID") or error(__LINE__,__FILE__,"Konnte Daten nicht holen",mysql_error());<br>
$datein = mysql_fetch_array($q) or error(__LINE__,__FILE__,"Konnte Array nicht erstellen",mysql_error());


Kann mir einer helfen?
 
Schonmal den SQl String ausgegeben und in PHPMyADMIN eingefügt um weitere Informationen zu bekommen ? Nein? Dann machen und nochmal fragen.
 
versuch mal statt
Code:
$BuchID
Code:
'$BuchID'

ansonsten am besten immer erstmal über php myadmin den sql code testen, das is echt ne gute hilfe...
 
Mach das mal so:

PHP:
$sql = "SELECT * FROM buecher WHERE BuchID = $BuchID";
echo($sql);
B]$$q = mysql_query($sql) or error(__LINE__,__FILE__,"Konnte Daten nicht holen",mysql_error());

Und schau Dir mal die Ausgabe von echo an.

Du sollst nämlich überprüfen, was php für nen sql-String hat. Weil, auch wenn das in phpmyadmin von Hand funktioniert, gibts im php Skript nen Fehler bei der Abfrage. Sprich, dein select-statement stimmt nicht. Und genau deswegen sollst Du Dir das mal von Deinem php-Skript ausgeben lassen!
 
War ein guter Tip :-))

Jetzt weiss ich das die Variable $BuchID leer ist, wie jenno schon sagte.
Ich über gebe den Wert aber doch im Link <br>
http://test.de/start.php?BuchID=2<br>
Gibt es noch eine andere Möglichkeit?

Ich weiss das man die Variablen irgendwie mit _GET oder so ähnlich euswerten kann?

Gruß Hogler
 
Dann würde ich vorschlagen du liest diese eben mit $_GET aus....

PHP:
  if( ! $_GET['BuchID'] )
         die("BuchID fehlt..");
  
  $sth = mysql_query('SELECT * FROM buecher WHERE BuchID = '.$_GET['BuchID']);

Wo sollte denn in deinem Fall $BuchID herkommen?
 
Zurück