mysql_affected_rows()返回-100

时间:2014-03-01 14:32:49

标签: php mysql

我的代码遇到了一个非常有趣的问题。基本上我第一次运行代码时,我从mysqli_effected_rows()函数得到了正确的结果。但是第二次运行相同的脚本时,它一直给我“-100”

如果删除表中的所有记录并再次运行代码,我会从mysqli_effected_rows()函数中获得正确的结果。

是“-100”错误代码?

$count ="";

foreach($database as $key=>$value) {

  foreach($value as $field => $cell){

    if ($field =='itemid') {
        echo "the item id is $cell <br />";
        $col1 = $cell ;
    }
    elseif ($field =='title') {

        echo "the title is $cell<br />";
        $col2 = $cell;
    }
    elseif ($field =='starttime') {

        echo "the start time is $cell<br />";
        $col3 = $cell;
    }
  }
  $dbquery = "INSERT INTO cordless_drill(itemid,title,starttime) VALUES ('$col1','$col2','$col3')";
mysqli_query($dbc,$dbquery);

  $count += mysqli_affected_rows($dbc);
}
echo $count ;

1 个答案:

答案 0 :(得分:0)

按照与INSERT相关联的上一个UPDATEREPLACEDELETElink_identifier查询获取受影响的行数。 MySQL连接。如果未指定链接标识符,则假定由mysql_connect()打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像mysql_connect()被调用而没有参数。如果未找到或建立连接,则会生成E_WARNING level错误。成功时返回受影响的行数,如果上次查询失败,则返回-1。 在尝试$count += mysqli_affected_rows($dbc);之前,只需尝试回显mysqli_affected_rows($dbc)的值...并检查是否发生任何警告....