PHP - 如何计算插入数据库的行

时间:2013-11-26 15:26:48

标签: php mysql sql

我有一个简单的插入数据库命令工作,我想知道如何计算插入数据库的行数。我尝试使用mysql_affected_rows()但它没有做任何事情。我的代码有一些语法错误吗?提前谢谢。

$sqlRegister = "INSERT INTO `Login_Details` (`User_ID`, `Username`, `Password`, `Email`, `User_Level`, `LoginAttempt`) 
            VALUES (NULL, '".$username."', '".$pass."', '".$email."', '1', '1');";

$count = mysql_affected_rows(mysql_query($sqlRegister));
echo($count);

1 个答案:

答案 0 :(得分:7)

首先;您正在使用受影响的行:

mysql_query($sqlRegister);
$count = mysql_affected_rows();

php / mysql中的某些函数不接受输入,它们从最后一个连接获取信息。另外,如果可以,开始使用 mysqli 或PDO支持mysql,不推荐使用mysql:)


除此之外,你可以这样做来计算新行的数量:

$query = "SELECT User_ID FROM Login_Details ORDER BY User_ID DESC LIMIT 1";
$result = mysql_query($query); // execute
$fetch = mysql_fetch_row($result); // fetch, we need this later

/*
  HERE YOUR INSERT CODE
*/

// Select all rows bigger than previous found id
$query = "SELECT User_ID FROM Login_Details WHERE User_ID>".$fetch[0];
$rows = mysql_num_rows( mysql_query($query) ); // get num of rows

echo $rows;

另一种方法可能是选择您现在拥有的行数,执行插入操作,然后再次执行行数。减去第二个值的第一个值得到差异。

第三种方法是在插入循环中添加$i++这将是最轻量级的选项(实际上,++$i更快一点)