我正在编写一个需要连接mysql的php程序。 所以我尝试使用mysqli。但是标题中提到了一个问题。 对于细节是这样的:
<?php
....
$mysqli = new mysqli(HOST,USER,PASSWORD,DATABASE);
if(mysqli_connect_errno()){
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = "update dsagencyinfo set Company='a', Region='b', AgencyName='c', HeadAgencyCode='71u269', AgencyFlag='4850G', AgencyStarts='dd', AgencyAttr='e', AgencyType='test', AgencyAddr='f1', AgencyPhoto='ss', HouseAttr='f', HouseArea='60', DecorationDate='41183', CounterNumber='6', CounterNumberLT='2', CounterNumberYD='5', OperatorName='dd', OperatorTel='18607277068', ClerkNumber='1', AdminName='ff', AdminTel='1860727123', CreateTime=now() where AgencyCode=36578689 ";
if($mysqli->query($sql)){
if($mysqli->affected_rows == 1){
return true;
}else{
return false;
}
}
?>
但后来我发现,$mysqli->affected_rows
返回-1,也就是说,应该有这个SQL做错事,所以我得到的$mysqli->errno
价值,但它返回0表示没有错误发生!而且,$mysqli->error
也返回“”。 然后我输入这个sql到mysql(我使用phpmyadmin),执行它,mysql说它没问题,我检查数据库中的数据确实是更新的。 我不明白为什么$mysqli->affected_rows
返回-1,我该如何解决这个问题?
我的PHP版本5.4.12是MySQL的 版本:5.6.12
你在哪里输出affected_rows,以便你知道它是-1?我只看到检查结果是否为1,我认为这里有一些背景缺失。 – Zarathuztra
这是我的code.I调试它在IDE – CoolGuy