首页 > 解决方案 > mysqli数据库连接不正常

问题描述

请参阅 PHP 中的以下代码。

$db = new mysqli($CONF['host'], $CONF['user'], $CONF['pass'], $CONF['name']);
    if ($db->connect_errno) {
        echo "Failed to connect to MySQL: (" . $db->connect_errno . ") " . $db->connect_error;    
    }
$db->set_charset("utf8");
$db->autocommit(FALSE);
$db->begin_transaction();
$result= $db->query("update users set is_verified=1 where id=10 and is_verified=0"); //$result is allways true
$affRow = $db->affected_rows; //allways returns -1 
//die();
$db->commit();

问题:

  1. $affRow 总是等于-1,即使一行影响数据库。

  2. 如果我取消注释die()代码,查询会在$db->commit()尚未执行时影响数据库。

  3. $db->affected_rows在读取值之前为 1。就在阅读之前,它变为 -1 并且 $affRow 也变为 -1!为什么会发生这些?我哪里错了?

标签: phpmysqli

解决方案


推荐阅读