首页  >  文章  >  后端开发  >  php修改数据库数据不成功怎么办

php修改数据库数据不成功怎么办

藏色散人
藏色散人原创
2022-10-19 09:16:071433浏览

php修改数据库数据不成功的解决办法:1、打开相应的PHP文件;2、获取用户账号和密码并连接数据库;3、用username变量修改数据表中的数据;4、查看错误信息;5、检查$db是否正确连接并修改;6、检查prepare方法中sql所涉及的表字段名是否有误并修改正确即可。

php修改数据库数据不成功怎么办

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

php修改数据库数据不成功怎么办?

问题描述:

PHP无法修改数据库数据

卡在ERROR报错一整天了,求大佬们帮帮忙
核心报错如图所示:

46ef1b7a12c08aa31b4db6278cca5d1.jpg

完整代码在此:

<?php 
header(&#39;Content-Type:textml;charset=utf-8&#39;); $username=&#39;游客&#39;; 
//获取用户输入的账号和密码并连接数据库 
$account=$_POST[&#39;account&#39;]; $password=$_POST[&#39;password&#39;]; 
$db=new mysqli(&#39;localhost&#39;,&#39;root&#39;,&#39;12345678&#39;,&#39;newsmanage&#39;); 
//查询数据库是否已经有相同账号 
$query1=$db->prepare("SELECT account FROM user"); 
$query1->bind_result($theaccount); $query1->execute(); 
while($query1->fetch()) { if ($account == $theaccount) { echo &#39;<script>alert("该账号已被注册!");
location.href="register.html"</script>&#39;; exit(); } } 
//将用户输入的账号和密码写入数据库 
$add=$db->prepare("INSERT INTO user VALUES (null,&#39;general&#39;,null,?,?)"); 
$add->bind_param(&#39;ss&#39;,$account, $password); $add->execute(); 
//数据库对添加的新用户自动生成唯一ID,查寻此ID并赋值变量 
$query2=$db->prepare("SELECT userid FROM user WHERE account=&#39;$account&#39;"); 
$query2->bind_result($userid); $query2->execute(); $query2->fetch(); 
//用username变量修改数据表中的数据 
$edit=$db->prepare("UPDATE user SET username=? WHERE account=?"); 
$edit->bind_param(&#39;ss&#39;,$username,$account); $edit->execute(); 
//报错提示:Call to a member function bind_param() on boolean in echo &#39;<script>alert("恭喜您,注册成功!");
location.href="../login/login.html"</script>&#39;;

问题分析:

错误信息已经说的很清楚了,说你对一个bool值使用了成员函数。这个错误信息说明你的$db->prepare()方法执行失败了,返回了false,而不是mysqli_stmt对象。请确认$db是否正确连接,prepare方法中的sql所涉及的表字段名是否有误。以及其他我暂时想不到的问题。。。

推荐学习:《PHP视频教程

以上是php修改数据库数据不成功怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn