Fehler 1064 in MySQL Abfrage?

preko

Erfahrenes Mitglied
Hi,

ich habe folgendes Script, welches einen eingegebenen Wert (neues Passwort) in eine MySQL Datenbank aktualisieren soll:

PHP:
[1] <?php
[2] // Speichert das jeweilige neue Passwort, dass der Benutzer in der Datei "changelogin.php" eingegeben hat
[3] 
[4] echo "<link rel='Stylesheet' type='text/css' href='css/text.css' media='screen' />";
[5] echo "<link rel='Stylesheet' type='text/css' href='css/print.css' media='print' />";
[6] include ("btg/btgpass.php");
[7] $db = @mysql_connect($host, $user, $password)
[8] 	or die ("Verbindung mit MySQL-Server fehlgeschlagen!");
[9] @mysql_select_db($database, $db)
[10] 	or die ("Verbindung mit Datenbank fehlgeschlagen!");
[11] $sql_query = "INSERT INTO 
[12]             		`betreuerdaten` (password)
[13] 	        VALUES 
[14]             		('".SHA1($_POST['password'])."')
[15] 	        WHERE
[16]  	                `betreuernr` = '".$HTTP_COOKIE_VARS["btgnr"]."'
[17]     "; 
[18]   if( !$result = mysql_query($sql_query, $db) ) { 
[19]     echo "<p><strong>Fehler ".mysql_errno($db)."</strong><br />\nFehler-Ausgabe:<strong>".mysql_error($db)."</strong>"; 
[20]     exit; 
[21]   } 
[22] mysql_close($db); 	  	
[23] ?>

Leider bekomme ich folgende Fehlermeldung:

Fehler 1064
Fehler-Ausgabe: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 `betreuernr` = '1004'' at line 5

Wieso in Zeile 5, die doch leer ist

Hat jemand eine Idee was hier verkehrt läuft?

Beste Grüße,
preko
 
Ich kann Dir sagen, wo das Problem liegt.
Es gibt in INSERT Statements keine WHERE Klausel.
Nimm sie raus und dann klappt's.
Falls Du jedoch versuchst, die Daten nicht in die Tabelle einzufügen, sondern vorhandene Daten zu ändern, dann schau Dir mal UPDATE an.

redlama
 
@ redlama:

wie immer bis Du ein Quell der Inspiration! ;)

Besten Dank, es hat nun funktioniert.

Falls es jemanden interessiert - ich habe den Abfrageteil so geändert:

PHP:
$sql_query = "UPDATE 
            		    `betreuerdaten`
      	     SET 
            		    `password` = '".SHA1($_POST['password'])."'
	     WHERE
                                    `betreuernr` = '".$HTTP_COOKIE_VARS["btgnr"]."'
";

Viele Grüße,
preko
 
Zurück