2016-08-07 24 views
1

-Code unten hier nicht work.and Ich weiß nicht, wo das Problem liegt:PHP vorbereitete Anweisung kann nicht work.and Ich weiß nicht, was falsch läuft

$insert_str="insert into User(Name,Password)values(?,?)"; 
$stmt->$conn->prepare($insert_str); 
$stmt->bind_param("ss",$name,$password); 
$stmt->execute(); 
$stmt->close(); 

ich die MySQL-Verbindung können gurantee und mysql configuration is ok.Weil Code wie dieses funktioniert:

$insert_str="insert into User(Name,Password)values('$name','$password')"; 
$conn->query($insert_str); 
echo "Create Account Successfully"; 

Könnte jemand bitte helfen? Ich habe über 2 Stunden mögliche Probleme in Betracht gezogen, aber nichts hat sich geändert.

Antwort

1

Sie müssen die Variable $ stmt als die Rückkehr aus der Vorbereitung Anweisung, wie folgt vergeben:

$insert_str="insert into User(Name,Password)values(?,?)"; 
$stmt=$conn->prepare($insert_str); 
$stmt->bind_param("ss",$name,$password); 
$stmt->execute(); 
$stmt->close(); 
+0

Meine Entschuldigung. Ich ignoriere einfach die grundlegende Syntax wie-> und =. Jetzt funktioniert es. Vielen Dank. –

+0

kein Problem - einfacher Fehler und nicht unbedingt leicht zu erkennen, wenn man so lange darauf gestarrt hat. Überprüfen Sie die Fehlerprotokolle jedes Mal, wenn etwas nicht wie erwartet funktioniert ...! – RamRaider