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


PHP - How to count rows inserted into database

我有一个简单的insert into database命令,它可以工作,我想知道如何计算插入数据库的行数。我试过使用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);

对于初学者;您错误地使用了受影响的行:

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稍微快一点)