2017-03-12 5 views
0

Dies ist mein PHP-Code untenFehler beim Aktualisieren der Datenbank mit der gespeicherten Prozedur

$token = md5(uniqid(rand(), true)); 
     $complete = 'No'; 
     $update_sql = "CALL updatetoken ('$db_email','$token','$complete')"; 
     echo $update_sql; 
     // $update_sql = "UPDATE user SET resetToken = {$token}, resetCompleted='No' WHERE email = {$_POST['email']}"; 
     $sqlfile = mysqli_query($connection, $update_sql); 

     if ($sqlfile) { 
      echo "Update successful"; 

     } else { 
      echo "Error updating the database"; 
     } 

Dann wird die gespeicherte Prozedur

CREATE DEFINER=`root`@`localhost` PROCEDURE `updatetoken` (IN `usermail` VARCHAR(100), IN `token` VARCHAR(100), IN `completetask` VARCHAR(100)) UPDATE user SET resetToken = token, resetCompleted = completetask WHERE email = usermail$$ 

IMAGE FOR STORE PROCEDURE

stattdessen die Datenbank zu aktualisieren, kann ich immer Fehlermeldung bekommen "Fehler beim Aktualisieren der Datenbank", Ich habe versucht, die normale "INSERT" mysql-Methode von meinem PHP-Code anstelle von CALL, aber immer noch die gleiche Fehlermeldung

+0

Haben Sie die Nachricht genaue Fehler? –

+0

Ja, immer noch der gleiche Fehler –

Antwort

0

ein Semikolon (;) am Ende der Update-Satz fehlt:

enter image description here

+0

der Semikolon ist etwas, das selbst wenn eingefügt, wird automatisch durch das DBMS entfernt ... Ich habe es versuchen, aber es ist weiterhin zu entfernen –

0
token = md5(uniqid(rand(), true)); 
$complete = 'No'; 
$update_sql = "CALL updatetoken ('$db_email','$token','$complete')"; 
echo $update_sql; 

// $update_sql = "UPDATE user SET resetToken = {$token}, resetCompleted='No' WHERE email = {$_POST['email']}"; 
$sqlfile = mysqli_query($connection, $update_sql); 
if ($sqlfile) { echo "Update successful"; } 
else { echo "Error updating the database";` 
+0

von was oben ist, denke ich, dass Ihr Code und mein Code ähnlich sind Sachen, immer noch nicht funktioniert –

Verwandte Themen