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

标签 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);

最佳答案

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

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/

相关文章:

php - 获取从表派生的数组的值

mysql - Moodle 3.4 性能很差

php - 不要在 mysql 数据库中复制内容

sql - PostgreSQL : getting group count

php - 将所有字符转换为等效的十进制或十六进制 HTML 代码

php - 为什么这个 PHP preg_replace() 不起作用?

mysql - 如何确定在 mysql 中添加索引的最佳位置?

sql - Postgres 左连接和计数

php - 如何显示数据库中的实际数据

mysql - Doctrine 2 命令行工具; MAMP 和 mysql.sock