Penyelesaian kepada kegagalan PHP untuk mengubah suai data pangkalan data: 1. Buka fail PHP yang sepadan 2. Dapatkan akaun pengguna dan kata laluan dan sambung ke pangkalan data 3. Gunakan pembolehubah nama pengguna untuk mengubah suai data dalam data; Jadual;
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.
Apakah yang perlu saya lakukan jika PHP gagal mengubah suai data pangkalan data?
Penerangan masalah:
PHP tidak boleh mengubah suai data pangkalan data
Saya telah terperangkap dalam ERROR selama sehari suntuk, tolong bantu saya.
Laporan ralat teras adalah seperti yang ditunjukkan dalam rajah:
Kod lengkap ada di sini:
<?php header('Content-Type:textml;charset=utf-8'); $username='游客'; //获取用户输入的账号和密码并连接数据库 $account=$_POST['account']; $password=$_POST['password']; $db=new mysqli('localhost','root','12345678','newsmanage'); //查询数据库是否已经有相同账号 $query1=$db->prepare("SELECT account FROM user"); $query1->bind_result($theaccount); $query1->execute(); while($query1->fetch()) { if ($account == $theaccount) { echo '<script>alert("该账号已被注册!"); location.href="register.html"</script>'; exit(); } } //将用户输入的账号和密码写入数据库 $add=$db->prepare("INSERT INTO user VALUES (null,'general',null,?,?)"); $add->bind_param('ss',$account, $password); $add->execute(); //数据库对添加的新用户自动生成唯一ID,查寻此ID并赋值变量 $query2=$db->prepare("SELECT userid FROM user WHERE account='$account'"); $query2->bind_result($userid); $query2->execute(); $query2->fetch(); //用username变量修改数据表中的数据 $edit=$db->prepare("UPDATE user SET username=? WHERE account=?"); $edit->bind_param('ss',$username,$account); $edit->execute(); //报错提示:Call to a member function bind_param() on boolean in echo '<script>alert("恭喜您,注册成功!"); location.href="../login/login.html"</script>';
Analisis masalah:
Mesej ralat telah membuatnya sangat jelas, mengatakan bahawa anda menggunakan fungsi ahli pada nilai bool. Mesej ralat ini menunjukkan bahawa kaedah $db->prepare() anda gagal untuk melaksanakan dan mengembalikan false dan bukannya objek mysqli_stmt. Sila sahkan sama ada $db disambungkan dengan betul dan sama ada nama medan jadual yang terlibat dalam sql dalam kaedah penyediaan adalah tidak betul. dan soalan lain yang saya tidak dapat fikirkan buat masa ini. . .
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika PHP gagal mengubah suai data pangkalan data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!