我的代码遇到了一个非常有趣的问题。基本上我第一次运行代码时,我从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 ;
答案 0 :(得分:0)
按照与INSERT
相关联的上一个UPDATE
,REPLACE
,DELETE
或link_identifier
查询获取受影响的行数。 MySQL连接。如果未指定链接标识符,则假定由mysql_connect()
打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像mysql_connect()
被调用而没有参数。如果未找到或建立连接,则会生成E_WARNING level
错误。成功时返回受影响的行数,如果上次查询失败,则返回-1。
在尝试$count += mysqli_affected_rows($dbc);
之前,只需尝试回显mysqli_affected_rows($dbc)
的值...并检查是否发生任何警告....