gpt4 book ai didi

php - mysqli_affected_rows() 返回 -1 但查询有效

转载 作者:行者123 更新时间:2023-11-29 06:37:00 25 4
gpt4 key购买 nike

我所有的 mysql 函数似乎都有这个问题。简单的插入语句有效,但当我检查受影响的行时,它返回 -1

这行得通,一个新行被插入到数据库中,但是调试器将 mysqli_affected_rows 显示为 -1,因此运行 else block :

$query = "INSERT INTO users (email, password) VALUES ('$email', '$password')";

mysqli_query($this->connection, $query) or die('Query failed in register.');


if (mysqli_affected_rows($this->connection)>0) {
//this doesnt get run,
}
else {
// this is run
}

为什么会这样?

编辑:

  • 我正在使用 Netbeans、Xdebug、WAMP。
  • 当我在连接创建后立即查看时,受影响的行已设置为 -1。
  • 运行成功查询后,连接仍显示 -1,然后再进行受影响的行检查。
  • 在连接对象中没有看到错误消息或错误编号。

最佳答案

我遇到了完全相同的问题。我已经调查了 Netbeans 和 Xdebug 的问题,这似乎是 MySQLi 扩展本身的错误。一个根据bug report 已经做出来了。与此同时,您可以改用更宽容的表达方式,例如

if (mysqli_sqlstate($dbc) == 00000) {
//your code
}

继续调试您剩余的代码。

关于php - mysqli_affected_rows() 返回 -1 但查询有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com