foreach($chk as $key=>$invoiceno)
{
$QryUp = mysql_query("update `tbl1` set `paid` = 'y' where `invoice_no`='".$invoiceno."' and `uniquekey`='".$_SESSION['uniquekey']."'") or die(mysql_error());
$id=mysql_affected_rows();
//insert data into tbl_school_account
$QryIns=mysql_query("insert into `tbl2` (`type`, `ref_id`) values('d', '$id')");
}
此处$id
返回相同的值
exa:当这个循环工作时,它更新tbl1
table.their id为1和2.it update perfect。但是mysql_affected_rows
只返回1(两次)。
那么问题出在哪里?
我知道已弃用的功能。
答案 0 :(得分:1)
mysql_affected_rows
调用返回受影响行的编号,而不是受影响行的PK。您将不得不使用发票ID等运行SELECT
来获取您想要的信息。
答案 1 :(得分:1)
您想要此功能而不是affected_rows:
http://php.net/manual/en/function.mysql-insert-id.php
“检索上一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。”