我的数据库更新没有任何问题。在我当地的开发环境下,一个新的记录插入也没有问题。我已经尝试过多次更改mysql用户,因为我认为这可能与权限有关(也许这仍然是问题所在,我不知道)。我甚至创建了用户root并提供了正确的root密码:同样,我可以执行更新,但不能插入新的记录。这是我的代码,我缩短了(即去掉了大量的字段。它在本地工作,但在服务器上不工作)。
我使用的是ubuntu linux,16.04,PHP7
$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();
3条答案
按热度按时间fcipmucu1#
我的环境是macos和PHP7.1.12,MySQL5.6.21
添加代码:
看看是否有错误发生。如果没有错误,那么结果应该是
laik7k3q2#
$username
必须先初始化。falq053o3#
解决了我自己的问题:
这是由严格的\u trans \u tables sql模式引起的。
打开phpmyadmin并转到“更多”选项卡,然后选择“变量”子菜单。向下滚动以查找sql模式。编辑sql模式并删除严格的\u trans \u表保存它。
我的本地phpmyadmin设置与新服务器上的phpmyadmin设置不同。。。注意,要进行上面的配置更改,我需要以根用户身份登录phpmyadmin。。。