mysql_affected_rows未在foreach循环中给出所需的结果

时间:2013-09-30 11:53:57

标签: php mysql

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(两次)。

那么问题出在哪里?

我知道已弃用的功能

2 个答案:

答案 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。”

相关问题