当前位置:Gxlcms > PHP教程 > PHP预处理语句执行过程中不知道什么有关问题,求大神解答,分数不多,下面是代码

PHP预处理语句执行过程中不知道什么有关问题,求大神解答,分数不多,下面是代码

时间:2021-07-01 10:21:17 帮助过:4人阅读

PHP预处理语句执行过程中不知道什么问题,求大神解答,分数不多,下面是代码
  1. <br>$servername = 'servername'; //服务器名称<br>$username = 'username'; //数据库用户名<br>$password = 'password'; //登录密码<br>$dbname = 'mydb';<br><br>//创建连接<br>$conn = new mysqli($servername, $username, $password, $dbname);<br><br>//检测连接(PHP 5.2.9和5.3.0版本适用)<br>/* if($conn->connect_error){<br>
  2. die('连接失败:' . $conn->connect_error);<br>} */<br><br>//检测连接(兼容更早版本)<br>if(mysqli_connect_error()){<br>
  3. die('连接失败:' . mysqli_connect_error());<br>}<br>else{<br>
  4. $sql = "INSERT INTO myguests VALUES(?, ?, ?)";<br>
  5. <br>
  6. //为mysqli_stmt_prepare()初始化statement对象<br>
  7. $stmt = mysqli_stmt_init($conn); <br>
  8. echo $stmt; //不知道为什么$stmt是空的,没有数据<br>
  9. <br>
  10. //预处理语句<br>
  11. if(mysqli_stmt_prepare($stmt, $sql)){<br>
  12. //绑定参数<br>
  13. mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);<br>
  14. <br>
  15. //设置参数并执行<br>
  16. $firstname = 'Sam';<br>
  17. $lastname = 'Poly';<br>
  18. $email = [email protected]';<br>
  19. mysqli_stmt_execute($stmt);<br>
  20. <br>
  21. $firstname = 'Mary';<br>
  22. $lastname = 'Moe';<br>
  23. $email = [email protected]';<br>
  24. mysqli_stmt_execute($stmt);<br>
  25. <br>
  26. $firstname = 'Julie';<br>
  27. $lastname = 'Dooley';<br>
  28. $email = [email protected]';<br>
  29. mysqli_stmt_execute($stmt);<br>
  30. <br>
  31. echo '插入成功';<br>
  32. }<br>}<br>

好像mysqli_stmt_init($conn)执行后没反应,我echo了一下,没东西输出,所以后面的mysqli_stmt_prepare($stmt, $sql)也执行不下去了,实在不清楚为什么没有执行,也没有报错
------解决思路----------------------
你用混了!
$conn = mysqli_connect(....)
mysqli_stmt_init($conn)
这是一对

$conn = new mysqli(.....)
$conn ->stmt_init()
这才是一对

人气教程排行