Solution for unsuccessful modification of database data in php: 1. Open the corresponding PHP file; 2. Obtain the user account and password and connect to the database; 3. Use the username variable to modify the data in the data table; 4. View Error message; 5. Check whether $db is connected correctly and modify it; 6. Check whether the table field name involved in sql in the prepare method is incorrect and modify it correctly.
The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.
What should I do if php fails to modify the database data?
Problem description:
PHP cannot modify the database data
I have been stuck in ERROR for a whole day, please help me.
The core error report is as shown in the figure:
The complete code is here:
<?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>';
Problem analysis:
The error message has made it very clear, saying that you used a member function on a bool value. This error message indicates that your $db->prepare() method failed to execute and returned false instead of the mysqli_stmt object. Please confirm whether $db is connected correctly and whether the table field names involved in the sql in the prepare method are incorrect. and other questions that I can't think of at the moment. . .
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What should I do if PHP fails to modify database data?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Linux new version
SublimeText3 Linux latest version

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
