我有一个简单的insert到数据库命令,我想知道如何计算插入到数据库中的行数。我试过使用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);发布于 2013-11-26 15:31:34
首先,您错误地使用了受影响的行:
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;另一种方法可以是选择现在的行数,执行插入操作,然后再执行行数。减去第二值的第一值,得到差集。
第三种方法是在insert循环中添加一个$i++ 。
https://stackoverflow.com/questions/20221220
复制相似问题