Gerch2003: - syntax to use near 'WHERE id = '1'' at line 1 -

Hallo miteinand,

ich bekomme bei meinem php-script folgende Fehlermeldung und ich hab einfach keinen plan, was daran nicht stimmen soll:

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 'WHERE id = '1'' at line 1

  <?  
$host = "localhost";  
$user = "root";  
$password = "xxx";  
$dbname = "xxx";  
$tabelle = "xxx";  
$id = '1';  
  
  
$dbverbindung = mysql_connect ($host, $user, $password);  
  
$dbanfrage = "SELECT * FROM $tabelle WHERE id = '$id'";  
$res = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);  
  
while ($ausgabe = mysql_fetch_array ($res))  
{  
  
echo "  
<form name='form1' method='post' action='$PHP_SELF'>  
  
<table width=\"866\" bordercolor=\"#000000\" style=\"text-align:center;\" class=\"schrift\">  
  
	<tr>  
		<td rowspan=\"2\" bgcolor=\"#999999\">Produkt</td>  
	    <td colspan=\"2\" bgcolor=\"#999999\">Zinssatz</td>  
		<td rowspan=\"2\" bgcolor=\"#999999\">Zinsbindung</td>  
		<td rowspan=\"2\" bgcolor=\"#999999\">Erläuterung</td>  
	</tr>  
	<tr>  
	  <td bgcolor=\"#999999\">nominal</td>  
      <td bgcolor=\"#999999\">effektiv</td>  
  </tr>  
  	<tr>  
  		<td rowspan=\"5\" bgcolor=\"#FFFFFF\">Anuitätendarlehen</td>  
	</tr>  
	<tr>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n1' value='$n1'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e1' value='$e1'></td>  
		<td bgcolor=\"#FFFFFF\">5 Jahre </td>  
		<td rowspan=\"4\" bgcolor=\"#FFFFFF\">Annuit&auml;tendarlehen; Anfangstilgung 1% p.a.; Kombination mit F&ouml;rderdarlehen m&ouml;glich;</td>  
	</tr>  
	<tr>  
	  <td bgcolor=\"#FFFFFF\"><input type='text' name='n2' value='$n2'></td>  
      <td bgcolor=\"#FFFFFF\"><input type='text' name='e2' value='$e2'></td>  
      <td bgcolor=\"#FFFFFF\">10 Jahre </td>  
  </tr>  
	<tr>  
	  <td bgcolor=\"#FFFFFF\"><input type='text' name='n3' value='$n3'></td>  
      <td bgcolor=\"#FFFFFF\"><input type='text' name='e3' value='$e3'></td>  
      <td bgcolor=\"#FFFFFF\">15 Jahre </td>  
  </tr>  
	<tr>  
	  <td bgcolor=\"#FFFFFF\"><input type='text' name='n4' value='$n4'></td>  
      <td bgcolor=\"#FFFFFF\"><input type='text' name='e4' value='$e4'></td>  
      <td bgcolor=\"#FFFFFF\">20 Jahre </td>  
  </tr>  
  	<tr>  
  		<td bgcolor=\"#FFFFFF\">Annuitätendarlehen</td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n5' value='$n5'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e5' value='$e5'></td>  
		<td bgcolor=\"#FFFFFF\">15 Jahre </td>  
		<td bgcolor=\"#FFFFFF\">staatliches Baudarlehen (Bayern), Anfangstilgung 1% p.a.;</td>  
	</tr>  
	<tr>  
  		<td bgcolor=\"#FFFFFF\">Annuitätendarlehen</td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n6' value='$n6'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e6' value='$e6'></td>  
		<td bgcolor=\"#FFFFFF\">10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\">staatliches Baudarlehen (Bayern), Anfangstilgung 1% p.a.;</td>  
	</tr>  
	<tr>  
		<td rowspan=\"5\" bgcolor=\"#FFFFFF\"><img src=\"images/kfw_logo.jpg\" height=\"80\" width=\"150\" /></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n7' value='$n7'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e7' value='$e7'></td>  
		<td bgcolor=\"#FFFFFF\">5 bis 10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\">KfW Wohnungseigentumsprogramm; Laufzeit max. 35 Jahre; Max. 5 Jahre tilgungsfreie Anlaufjahre;</td>  
	</tr>  
	<tr>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n8' value='$n8'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e8' value='$e8'></td>  
		<td bgcolor=\"#FFFFFF\">5 bis 10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\">Wohnraum Modernisieren - Standard; Laufzeit max. 30 Jahre; Max. 5 Jahre tilgungsfreie Anlaufjahre;</td>  
	</tr>  
	<tr>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n9' value='$n9'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e9' value='$e9'></td>  
		<td bgcolor=\"#FFFFFF\">5 bis 10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\">Wohnraum Modernisieren - &Ouml;ko Plus; Laufzeit max. 30 Jahre; Max. 5 Jahre tilgungsfreie Anlaufjahre;</td>  
	</tr>  
	<tr>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n10' value='$n10'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e10' value='$e10'></td>  
		<td bgcolor=\"#FFFFFF\">10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\"><img src=\"images/kfw_40.jpg\" height=\"60\" width=\"96\" /></td>  
	</tr>  
	<tr>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='n11' value='$n11'></td>  
		<td bgcolor=\"#FFFFFF\"><input type='text' name='e11' value='$e11'></td>  
		<td bgcolor=\"#FFFFFF\">10 Jahre </td>  
		<td bgcolor=\"#FFFFFF\"><img src=\"images/kfw_60.jpg\" height=\"60\" width=\"96\" /></td>  
	</tr>  
	<tr>  
		<td colspan=\"5\" bgcolor=\"#FFFFFF\" align=\"justify\">Bitte beachten Sie, dass die jeweiligen Zinss&auml;tze auf bestimmten Annahmen basieren und dass Ihr individueller Zinssatz ggf. von diesen Abweichen kann.<br />Stand: <input type='text' name='text' value='$text'></td>  
	</tr>  
</table>  
  
<br /><input type='submit' name='submit' value='Speichern'>  
  
</form>";  
  
}  
if ($submit) {  
$update = " UPDATE $tabelle SET n1='$n1', n2='$n2', n3='$n3', n4='$n4', n5='$n5', n6='$n6', n7='$n7', n8='$n8', n9='$n9', n10='$n10', n11='$n11', e1='$e1', e2='$e2', e3='$e3', e4='$e4', e5='$e5', e6='$e6', e7='$e7', e8='$e8', e9='$e9', e10='$e10', e11='$e11', text='$text', WHERE id = '$id'";  
$updaten = mysql_query($update) or die(mysql_error());  
  
if (!$updaten)  
echo "Fehler aufgetreten!";  
else  
      {  
        echo "Daten gespeichert!";  
    }  
  
}  
?> 

Die Daten werden folglich auch nicht abgesendet.

Mit meinem Testscript ohne die riesige Tabelle hat es ganz ohne Probleme funktioniert!

  1. Hello,

    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 'WHERE id = '1'' at line 1

    $dbanfrage = "SELECT * FROM $tabelle WHERE id = '$id'";

    lass Dir die $dbanfrage an geeigneter Stelle (z.B. unter der Fehlermeldung) ausgeben:

    echo "<p>" . htmlspecialchars($dbanfrage,ENT_QUOTES) . "</p>\r\n";

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. echo $begrüßung;

    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 'WHERE id = '1'' at line 1

    Die Ursache für Syntaxfehler ist immer vor der bemängelten Stelle zu suchen.

    Wie lautet das dazugehörige SQL-Statement (nicht der Code, der es zusammenbaut und HTML-Code interessiert an der Stelle auch nicht)?

    $update = " UPDATE $tabelle SET n1='$n1', n2='$n2', n3='$n3', n4='$n4', n5='$n5', n6='$n6', n7='$n7', n8='$n8', n9='$n9', n10='$n10', n11='$n11', e1='$e1', e2='$e2', e3='$e3', e4='$e4', e5='$e5', e6='$e6', e7='$e7', e8='$e8', e9='$e9', e10='$e10', e11='$e11', text='$text', WHERE id = '$id'";

    Was macht das Komma vor dem WHERE?

    echo "$verabschiedung $name";

    1. »

      Was macht das Komma vor dem WHERE?

      »

      Danke, das Komma wars :-)

      Hatt ich nicht gesehen. Ist durchs kopieren passiert.

      Gruß