PHP准备好的语句无法正常工作。我不知道出了什么问题

时间:2016-08-07 08:35:42

标签: php mysql prepared-statement

这里的代码无法正常工作。我不知道问题出在哪里:

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

我可以保证mysql连接和mysql配置都没问题。因为这样的代码有效:

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

有人可以帮忙吗?我已经考虑了超过2小时的潜在问题,但没有任何改变。

1 个答案:

答案 0 :(得分:0)

您需要将变量$ stmt指定为prepare语句的返回值,如下所示:

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