SQL Probleme

HighTec

Lieutenant
Registriert
Sep. 2006
Beiträge
761
Soo da ich totaler Newbie im Bereich SQL bin hab ich nochn paar Probleme.

Code:
<?php
if (!$_POST['Wunsch']) {
echo '<form action='.$_SERVER['PHP_SELF'].' method=post>';
echo '<p>Name: <input type=text name=Name></p>';
echo '<p>E-Mail: <input type=text name=Email></p>';
echo '<p>Wunsch: <input type=text name=Wunsch></p>';
echo '<p><input type=Submit name=submit></p>';
echo '</form>';
} else {
$nickname = $_POST['Name'];
$email = $_POST['Email'];
$wunsch = $_POST['Wunsch'];
include ('config.php');
@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
mysql_select_db(MYSQL_DATABASE) OR die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
mysql_query("INSERT INTO gwbox(nickname, email, wunsch) VALUES($nickname,$email,$wunsch)") OR die(mysql_error());
}
?>
Ich habe folgendes eingegeben:

Name: blablubb
Email: blablubb@hotmail.de
Wunsch: Interpret - Titel

Der Fehler der mir andauernd angezeigt wir ist folgender:
Code:
You have an error in your SQL syntax near '@hotmail.de,Interpret - Titel)' at line 1

Nur ich kann da nix finden. kann mir da wer weiterhelfen?

Greetz

Highweb
 
PHP:
mysql_query("INSERT INTO gwbox (nickname, email, wunsch) VALUES ('
    '".$nickname."','".$email."','".$wunsch."')") OR die(mysql_error());

Bin mir aber nicht 100% sicher probier es einfach aus

MFG
 
Zuletzt bearbeitet:
Ohh man.
Thanks es funzt
 
Highweb schrieb:
Ohh man.
Thanks es funzt

Hi,

um auch mal zu klären, warum es zu dem Fehler kam, empfehle ich folgenden Abschnitt aus dem MySQL Manual. Du hast unbeabsichtigt eine sog. User-Variable deklariert und deshalb stimmte die SQL-Syntax nicht mehr. Strings sind in SQL grundsätzlich in Hochkommata zu setzen und genau das hat Dir pchero empfohlen.

Schau mal in die Serverkonfiguration des Webspace (im Zweifelsfall per phpinfo()). Wenn dieser die PDO mitsamt des MySQL-Driver anbietet, würde ich dir empfehlen sich gleich dort einzuarbeiten, da dir dann mit Hilfe der sog. Prepared Statements solche Phänomene erspart bleiben.

Ciao
 
Zurück
Oben