【发布时间】:2014-05-29 23:49:46
【问题描述】:
我所有的 mysql 函数似乎都有这个问题。简单的插入语句有效,但是当我检查受影响的行时,它返回-1。
这行得通,一个新行被插入到数据库中,但调试器将 mysqli_affected_rows 显示为-1,因此运行 else 块:
$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,然后再进行受影响的行检查。
- 在连接对象中看不到错误消息或错误号。
【问题讨论】:
-
if (mysqli_affected_rows($this->connection, $query)>0)怎么样 -
没用,还是-1
-
你能粘贴你的查询吗,
mysqli_affected_rows在查询错误时返回-1 -
你认为它为什么会返回
-1? -
我认为你的调试器有错误stackoverflow.com/questions/23848434/…
标签: php mysql netbeans mysqli xdebug