我有一个简单的插入数据库命令,我想知道如何计算插入数据库的行数。我尝试使用 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
快一点)
关于PHP - 如何计算插入数据库的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20221220/