einstieg php hilfe
sven
- php
0 TomIRL0 Raik.0 Thomas Luethi
Hallo,
ich bin gerade dabei mich an PHP zu versuchen. Nun habe ich ein Fehler an dem ich schon ne ganze Weile tüftel. Leider komm ich nicht auf die Lösung.
Folgender Fall:
Ich möchte zu einer Datenbank connecten und durch die Daten eines Eingabefelds eine Abfrage erstellen die mir dann die Daten anzeigt.
Folgender Fehler tritt auf:
"You have an error in your SQL syntax near " at line 1"
Der Quelltext dazu:
<?php
$dbhost = "localhost";
$dbuser = "blablabla";
$dbpass = "blablabla";
$dbname = "blablabla";
$db_link = @mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname) or die(mysql_error());
$sql = "SELECT username,userpassword,groupid FROM bb1_user_table WHERE username = $username";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo $row['username']." ".$row['groupid']." "<br />n";
}
?>
Ich versteh das irgendwie nicht, da die Fehlermeldung ja besagt in der ersten Zeile bei ". Aber da is ja nirgends ein "
Schon mal danke im Voraus :)
Hallo,
ich bin gerade dabei mich an PHP zu versuchen. Nun habe ich ein Fehler an dem ich schon ne ganze Weile tüftel. Leider komm ich nicht auf die Lösung.Folgender Fall:
Ich möchte zu einer Datenbank connecten und durch die Daten eines Eingabefelds eine Abfrage erstellen die mir dann die Daten anzeigt.Folgender Fehler tritt auf:
"You have an error in your SQL syntax near " at line 1"
Der Quelltext dazu:
<?php
$dbhost = "localhost";
$dbuser = "blablabla";
$dbpass = "blablabla";
$dbname = "blablabla";
$db_link = @mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname) or die(mysql_error());
$sql =$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
echo $row['username']." ".$row['groupid']." "<br />n";
}?>
Ich versteh das irgendwie nicht, da die Fehlermeldung ja besagt in der ersten Zeile bei ". Aber da is ja nirgends ein "
Nein? <Zitat>"SELECT username,userpassword,groupid FROM bb1_user_table WHERE username = $username";</zitat>
Dein Stil ist grottig und deutet darauf hin, dass Du noch nie programmiert hast.
Denn Du weist nicht was du tust:
Warum überprüfst Du nicht erst ob die Verbindung zur Datenbank existiert, und fragt erst im 2 .Gang nach was für ein SQL Fehler vorliegt?
Warum befragst Du zu solch einfachen Dingen nicht erst einmal ein gutes Buch oder ein online Tutorial?
http://de2.php.net/manual/de/print/ref.mysql.php
Da ist Punkt für Punkt erklärt was zu tun ist.
TomIRL
hallo,
ist das erste mal das ich php ausprobiere.
danke für den link aber den rest hättest dir sparen können.
war rumgeteste. deswegen gleich rumzumeckern brauchst nicht. gelöst hast dus nämlich trotzdem nich :P
hallo,
ist das erste mal das ich php ausprobiere.
Suche Dir ne Sprache die sicherer ist und mit der Du nicht so viel Unfug machen kannst.
danke für den link aber den rest hättest dir sparen können.
war rumgeteste. deswegen gleich rumzumeckern brauchst nicht. gelöst hast dus nämlich trotzdem nich :P
Wenn Du lesen könntest und wesentliche Grundkenntnisse einer Sprache kennen würdest, dann würdest Du den Fehler aus meinem geschriebenen herauslesen.
Über diesem Forum steht übrigens das man zuerst selber nach Lösungen suchen sollte.
Da Du dazu offenbar nicht in der Lage bist, solltest Du Dir überlegen ob Du hier richtig bist.
TomIRL
P.S. Und ich beantworte trotzdem die Fragen so wie ich will.
Und empfehle Dir trotzdem Dich zuerst mit den Grundlagen aueinandezusetzen bevor ich solche (Sorry!) aber ausgesprochen dämlichen Fragen hier stelle.
Hallo sven,
$sql = "SELECT username,userpassword,groupid FROM bb1_user_table WHERE username = $username";
^^^^^^^^^^
'$username'
freundl. Grüße aus Berlin, Raik
Hallo,
$db_link = @mysql_connect($dbhost, $dbuser, $dbpass);
Hier fehlt die Fehlerbehandlung.
Siehe Beispiele:
http://www.php.net/manual/de/ref.mysql.php
http://www.dclp-faq.de/q/q-mysql-zugriff.html
$sql = "SELECT username,userpassword,groupid FROM bb1_user_table WHERE username = $username";
Lass Dir hier mal den fertigen Querystring anzeigen:
echo "<p>Querystring: $sql</p>";
Ich vermute wie Raik, dass es an den fehlenden
Anfuehrungszeichen um den Wert von $username liegt.
Oder dass die Variable $username undefiniert bzw. leer ist.
Ich versteh das irgendwie nicht, da die Fehlermeldung ja besagt in der ersten Zeile bei ". Aber da is ja nirgends ein "
Wenn Du Dir den Querystring anzeigen laesst, siehst Du
den Fehler hoffentlich.
Gruesse,
Thomas