SQL problem... INSERT INTO

SQL problem... INSERT INTO

Beitragvon Gast » 15. Aug 2008, 10:25

Hallo...

hab in letzter zeit versucht ein kleines Gästebuch zu erstellen...
die Verbindung zur Datenbank müsste stehen, aber ich hab Probleme mit dem Befehl "INSERT INTO".

Die Zeile, in der angeblich ein Fehler auftaucht:

INSERT INTO gaestebuch('name' , 'eintrag') VALUES ('$name' , '$eintrag');


Kann mir jemand weiterhelfen?
PS: bin PHP und mysql anfänger;-)

Danke im vorraus
Mfg Spucky
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 15. Aug 2008, 12:19

füg mal nach dem query "echo mysql_error();" hinzu.
und ich hoff mal, dass du die vars vorher überprüfst.
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 17. Aug 2008, 20:39

ok anscheinend hast du dein problem schon gelöst, würd mich trotzdem über ne Post freuen, worans denn nun lag.
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 12:42

Es gehören keine Apostrophe hin ( '$name' ), sondern Akzente ( ´$name´ )! Des weiteren solltest du die Klammern weglassen.
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 12:46

michederoide hat geschrieben:Es gehören keine Apostrophe hin ( '$name' ), sondern Akzente ( ´$name´ )! Des weiteren solltest du die Klammern weglassen.


ja ? und wieso funzen mein scripte ("" für werte, `` für tabellen-namen usw) ?
klammern ? also ... kanna uch nur das sagen was ich oben schon stehn hab... (http://tut.php-q.net/mysql-insert.html)

edit: ok verguckt ... dachte '$name' isn wert ... ^^, aba die klammern ist doch auch richtig an der stelle
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 13:39

Also bei mir gibt er mit Apostrophen und Klammern einen SQL-Fehler aus! :o Versuch mal, ein Leerzeichen hinter gaestebuch zu schreiben oder lasse es nach VALUES weg. Vielleicht hilft das! Außerdem überprüfe vorher die Variablen:
Code: Alles auswählen
...
if(isset($name) && isset($eintrag)) {
mysql_query($sql);
}
...
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 14:23

Das doch alles quark hier ...

Code: Alles auswählen
$sql = "
INSERT INTO gaestebuch('name' , 'eintrag') VALUES ('".$name."' , '".$eintrag."')";
mysql_query($sql);

Das wäre ein ordentliches Query indem man auch ne gute Zeichenverkettung hat. das dürfte auf jedenfall funktionieren
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 18:34

Das ist ebenfalls Quark:

1) Benutze ' anstatt ": Dies ist viel schneller :)
2) Variablen sollten niemals ungefiltert eingetragen werden

$sql = 'INSERT INTO gaestebuch(\'name\' , \'eintrag\') VALUES (\''.mysql_real_escape_string($name).'\', '\'.mysql_real_escape_string($eintrag).'\')';
mysql_query($sql);
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 20. Aug 2008, 22:13

die Lösung wäre dann auch noch Performance bedacht :D

Nur einen \ Fehler ;)

$sql = 'INSERT INTO gaestebuch(\'name\' , \'eintrag\') VALUES (\''.mysql_real_escape_string($name).'\', \''.mysql_real_escape_string($eintrag).'\')';
mysql_query($sql);
Gast
 

Re: SQL problem... INSERT INTO

Beitragvon Gast » 21. Aug 2008, 05:15

wie währes damit ?

Code: Alles auswählen
$sql = 'INSERT INTO `gaestebuch`(`name` , `eintrag`) VALUES ("'.sql_val($name).'", "'.sql_val($eintrag).'")';
mysql_query($sql);


sql_val:
Code: Alles auswählen
function sql_val($sql_var)
{
  if( get_magic_quotes_gpc() )
    $sql_var = stripslashes($sql_var);

  $sql_var = mysql_real_escape_string($sql_var);
  return($sql_var);
}
Gast
 

Nächste

Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron