首頁 >後端開發 >PHP問題 >php修改資料庫資料不成功怎麼辦

php修改資料庫資料不成功怎麼辦

藏色散人
藏色散人原創
2022-10-19 09:16:071566瀏覽

php修改資料庫資料不成功的解決方法:1、開啟對應的PHP檔案;2、取得使用者帳號和密碼並連接資料庫;3、用username變數修改資料表中的資料;4、查看錯誤訊息;5、檢查$db是否正確連接並修改;6、檢查prepare方法中sql所涉及的表格欄位名稱是否有誤並修改正確即可。

php修改資料庫資料不成功怎麼辦

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

php修改資料庫資料不成功怎麼辦?

問題描述:

PHP無法修改資料庫資料

卡在ERROR錯一整天了,求大佬們幫忙
核心報錯如圖所示:

php修改資料庫資料不成功怎麼辦

完整程式碼在此:

<?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