我对数据库的更新没有任何问题。在我的本地开发环境中,新记录插入也没有问题。我尝试过多次更改mysql用户,因为我认为这可能与权限有关(也许这仍然是问题,我不知道)。我什至将用户设置为root并提供了正确的root密码:再次,我可以执行更新,但不能插入新记录。这是我缩短的代码(即,删除了大量字段。它在本地运行,但在服务器上不起作用)。我在ubuntu linux,16.04,php 7上

$message = '';

$db = new mysqli('localhost', 'root', 'notrealpword', 'mydatabase');


if ($db->connect_error){

  $message = $db->connect_error;

}else{

//    echo $message ;

}

$prep = $db->prepare("INSERT INTO users (userid, username) VALUES
('0',?)");
//Now, you can bind some parameters.
$prep->bind_param('s',$username);

$username = "atservertest";


$prep->execute();

$numaffected = $prep->affected_rows ;

echo $numaffected;

//        echo $numaffected . " row(s) affected." ;

$prep->close();

最佳答案

$username必须首先初始化。

//Call this first
$username = "atservertest";
//Then use bind_param
$prep->bind_param('s',$username);

10-02 21:22