如何使用PHP获取MySQL表中的行数?
为什么我的代码在行如何使用PHP获取MySQL表中的行数?,php,mysql,mysqli,Php,Mysql,Mysqli,为什么我的代码在行$result=mysql\u查询(“SELECT*FROM institutions”)上返回500个内部服务器错误
$result=mysql\u查询(“SELECT*FROM institutions”)上返回500个内部服务器错误我是不是做错了什么可怕的事?我所要做的就是在我刚刚将一行添加到MySQL表(称为“institutions”)后,计算该表中的行数
$institution_sql = "
INSERT INTO `institutions`
(`InstitutionName`, `HeaderPictureID`, `Description`, `DevicesInfo`, `DoingInfo`, `FacebookPage`, `Location`, `TwitterHandle`, `Website`, `CreatedAt`)
VALUES
(" . nz($_POST['TempInstitutionName']) . ", 74, 'N/A', 'N/A', 'N/A', 'N/A', 'On the Internet', 'N/A', 'N/A', NOW())
";
$mysqli->query($institution_sql);
if ($mysqli->errno) {
$dbreturn['status'] = "PASSWORD_FAILURE";
} else {
$dbreturn['status'] = "EXEC_SUCCESS";
$result = mysql_query("SELECT * FROM institutions");
$rows = mysql_num_rows($result);
echo "There are " . $rows . " rows in my table.";
$insert_sql = "
INSERT INTO `users`
(`Handle`, `Email`, `FirstName`, `LastName`, `InstitutionID`, `TempInstitutionName`, `TwitterHandle`, `ProfilePictureID`, `HeaderPictureID`, `AccountType`, `CreatedAt`)
VALUES
(" . nz($_POST['Handle']) . ", " . nz($_POST['Email']) . ", " . nz($_POST['FirstName']) . ", " . nz($_POST['LastName']) . ", $num_rows, " . nz($_POST['TempInstitutionName']) . ", " . nz($_POST['TwitterHandle']) . ", " . nz('75') . ", " . nz('74') . ", " . nz($_POST['AccountType']) . ",NOW())
";
$mysqli->query($insert_sql);
if ($mysqli->errno) {
$dbreturn['status'] = "EXEC_FAILURE";
} else {
$dbreturn['status'] = "EXEC_SUCCESS";
$insertid = $mysqli->insert_id;
$password_sql = "
INSERT INTO `passwords`
(`UserID`)
VALUES
('$insertid')
";
$mysqli->query($password_sql);
if ($mysqli->errno) {
$dbreturn['status'] = "PASSWORD_FAILURE";
} else {
$dbreturn['status'] = "EXEC_SUCCESS";
}
} //todo: use a transaction here
}
$result=mysql_查询(“从机构中选择计数(*))
这将直接返回行数
此链接可以为您提供详细信息
$result=mysql\u查询(“从机构中选择计数(*))
这将直接返回行数
此链接可以为您提供详细信息
您的问题是将MYSQLI
与MYSQL
使用mysqli重写代码
$result = $mysqli->query("SELECT * FROM institutions");
$rows = $result->num_rows ;
// and so on ...
您通过mysqli连接,然后在代码中使用mysql。您的问题是将mysqli
与mysql
使用mysqli重写代码
$result = $mysqli->query("SELECT * FROM institutions");
$rows = $result->num_rows ;
// and so on ...
您通过mysqli连接,然后在代码中使用mysql。使用
$result = $mysqli->query($institution_sql);
$result->num_rows;
还是普通的老mysql
$result = mysql_query($institution_sql);
mysql_num_rows($result);
使用
还是普通的老mysql
$result = mysql_query($institution_sql);
mysql_num_rows($result);
试试这个:
$result = mysql_query("SELECT count(*) FROM institutions");
MySQL文档:
还包括:
COUNT(*)函数返回表中的记录数:尝试以下操作:
$result = mysql_query("SELECT count(*) FROM institutions");
MySQL文档:
还包括:
COUNT(*)函数返回表中的记录数:…同时,也应为:
价值观
(“.nz($_POST['TempInstitutionName'])。”,74
请注意单引号[除非'nz'函数处理此问题]。…此外,这应该是:
价值观
(“.nz($_POST['TempInstitutionName'])。”,74
请注意单引号[除非'nz'函数处理这个问题]。如果需要行数,请尝试使用count(*)
而不是*来计算行数。您确实不想不必要地获取整个表中的所有数据,甚至count(1)
,尽管我认为MySQL在这方面可能非常聪明选择count(*)从institutions;
如果您想要行数,请尝试使用count(*)
而不是*。您确实不想不必要地获取整个表中的所有数据,甚至count(1)
,尽管我认为MySQL在这方面可能相当聪明选择count(*)来自机构;
真的是否决票吗?他不是把mysqli和mysql混在一起吗?否决票可以解释原因吗?+1 echo_Me。OP把mysqli和mysql混在一起。即使这不是原因,它仍然是个问题。真的否决票吗?他不是把mysqli和mysql混在一起吗?否决票可以解释原因吗?+1 echo_Me。OP把mysqli和mysql混在一起了。即使它不是因为,这仍然是个问题。