INSERT INTO (MySQL)

uwee

Erfahrenes Mitglied
Hallo!

ich versuche mit einer PHP-Seite einen Ds in meine Tabelle (MySQL) zu bekommen. Leider funktioniert das nciht so, wie ich es mir vorgestellt habe...

Es kommt immer als Fehlermeldung:
Query was empty

Das ist der Quellcode:
PHP:
$sql="INSERT INTO 'problem_kunden' ('k_id','anrede','vorname','name','einrichtung','mandant') 
VALUES('','".$change_anrede."','".$change_vorname."','".$change_name."','".$change_einrichtung."','".$change_mandant."')";

wenn ich nun den Inhalt aller Variablen ausgebe (mit echo), weiss ich, dass die Variablen gefüllt sind, die Inhalte wurden von Formular übertragen.

Warum lautet der Fehler dann also "Query was empty", wenn doch alle Variablen auch Inhalte haben?!

UweE
 
Setz mal bitte unter den Code, den Du gepostet hast ein
PHP:
echo $sql;
und sag uns das Ergebnis, dann können wir mal sehen, was genau an die DB gegeben wird.

redlama
 
wenn ich das hinschreibe, steht da nichts
ausser dem MySQL-Fehler... das isses ja eben...
ich kann $sql nicht anzeigen lassen.
alle anderen Variablen lassen sich anzeigen, ohne Probleme aber nicht die, in der die Abfrage steht.
 
PHP:
$change_k_id=$_POST['k_id'];
$change_anrede=$_POST['anrede'];
$change_vorname=$_POST['vorname'];
$change_name=$_POST['name'];
$change_einrichtung=$_POST['einrichtung'];
$change_mandant=$_POST['mandant'];
$sql="";
$result="";
if ($change_k_id!=""){
echo"<html><head><title></title></head><body>
Es wurde soeben ein neuer Kunde eingegeben, Sie werden nun auf die Hauptseite weitergeleitet.</p></body></html>";
$sql="INSERT INTO 'problem_kunden' ('k_id','anrede','vorname','name','einrichtung','mandant') 
VALUES('','".$change_anrede."','".$change_vorname."','".$change_name."','".$change_einrichtung."','".$change_mandant."')";
}
else { echo "Fehlgeschlagen<br>";}
/*echo $_POST['name'];
echo $change_k_id  ;
echo $change_vorname;
echo $change_name;
echo $change_einrichtung;
echo $change_mandant;
echo $sql  ;*/

also...
echo $_POST['name'];
echo $change_k_id ;
echo $change_vorname;
echo $change_name;
echo $change_einrichtung;
echo $change_mandant;

dafür bekomme ich die Inhalte der Variablen, und die Stimmen auch mit meinen Eingabe überein. Aber dafür:
echo $sql
bekomme ich kein Ergebnis!
 
Hallo uwee

Der Fehler sollte eigentlich auf dieser Zeile sein:
PHP:
$sql="INSERT INTO 'problem_kunden' ('k_id','anrede','vorname','name','einrichtung','mandant')

Nach INSERT INTO solltest du kein Apostroph machen. Entweder ` oder nichts aber nicht '.
Mit anderen Worten:
PHP:
$sql="INSERT INTO problem_kunden ('k_id','anrede','vorname','name','einrichtung','mandant')";
$sql="INSERT INTO `problem_kunden`('k_id','anrede','vorname','name','einrichtung','mandant')";
 
also das mit dem Apostroph wars leider nicht...

hier einmal der KOMPLETTE QUellcode (ohne Connection)
PHP:
$change_k_id=$_POST['k_id'];
$change_anrede=$_POST['anrede'];
$change_vorname=$_POST['vorname'];
$change_name=$_POST['name'];
$change_einrichtung=$_POST['einrichtung'];
$change_mandant=$_POST['mandant'];
$sql="";
$result="";
if ($change_k_id!=""){
echo"<html><head><title></title></head><body>
Es wurde soeben ein neuer Kunde eingegeben, Sie werden nun auf die Hauptseite weitergeleitet.</p></body></html>";
$sql="INSERT INTO ´problem_kunden´ ('k_id','anrede','vorname','name','einrichtung','mandant') 
VALUES('','".$change_anrede."','".$change_vorname."','".$change_name."','".$change_einrichtung."','".$change_mandant."')";
}
else { echo "Fehlgeschlagen<br>";}
/*echo $_POST['name'];
echo $change_k_id;
echo $change_vorname;
echo $change_name;
echo $change_einrichtung;
echo $change_mandant;
echo $sql;*/

$result=mysql_query($sql) or die("<br>SQL_ERROR:<br>UPDATE fehlgeschlagen<br>".mysql_error());
echo "<input type=\"hidden\" name=\"id\" value=\"".$change_k_id."\">";
echo "<meta http-equiv=refresh content=\"1; URL=index.html\">";
?>
<html><head><title></title>
<meta http-equiv="refresh" content="1; URL=index.html">
</head></html>

so... da habt ihr alles...
aber irgendwie hab ich das Gefühl, es ist wiedermal nur ein klitzekleiner Fehler, den ich übersehe
 
Ist in der DB das Feld "k_id" auto_increment? Wenn ja, versuch's mal so:
PHP:
$sql="INSERT INTO ´problem_kunden´ ('anrede','vorname','name','einrichtung','mandant') 
VALUES('".$change_anrede."','".$change_vorname."','".$change_name."','".$change_einrichtung."','".$change_mandant."')";

redlama
 
ist auto_increment, aber auch nach der Änderung:


Fehlgeschlagen

SQL_ERROR:
UPDATE fehlgeschlagen
Query was empty
 
Zurück