【发布时间】:2015-01-24 12:29:47
【问题描述】:
我只想计算已经使用 php 在数据库中创建的表中的行数。我使用了 mysqli()。我需要表中的行数作为输出。
【问题讨论】:
-
如果您发布代码并告诉我们您遇到问题的确切位置,您将获得更好的答案。
我只想计算已经使用 php 在数据库中创建的表中的行数。我使用了 mysqli()。我需要表中的行数作为输出。
【问题讨论】:
<?php
$mysqli = new mysqli("hostname", "dbusername", "dbpassword", "dbname");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT count(*) cc FROM tablename")) {
/* fetch the first row as result */
$row = $result->fetch_assoc();
printf("Result set has %d rows.\n", $row['cc']);
/* close result set */
$result->close();
}
/* close connection */
$mysqli->close();
?>
事实上,这是一个常见问题,您可以在任何地方找到答案。
喜欢,http://php.net/manual/en/mysqli-result.num-rows.php
你可以把这个问题一分为二
【讨论】:
<?php
$mysqli = new mysqli("hostname", "dbusername", "dbpassword", "dbname");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT columnName from tablename")) {
/* determine number of rows result set */
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
$result->close();
}
/* close connection */
$mysqli->close();
?>
$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];
【讨论】:
count(*) 是更好的选择。
尝试简单的查询,例如:
SELECT COUNT(*) AS count
FROM mytable
【讨论】:
如果您不想在SQL 中使用COUNT,您可以选择所有行(SELECT id FROM table),然后使用PHP count()。
【讨论】:
你也可以这样做
"SELECT COUNT(*) AS `Rows`, `any column` FROM `tablename` GROUP BY `any column` ORDER BY `any column` "
【讨论】:
mysqli_num_rows 如果您想计算 php 中的行数,应该可以解决问题。
【讨论】: