php - 计算 MySQL 行数

标签 php mysql html

我正在尝试计算 MySQL 数据库中的行数并使用 PHP 报告该数字。我已经阅读了所有文档,我认为这段代码应该可以工作,但无论我尝试什么,它都会失败。

<?php
session_start();
if ( isset($_SESSION['username']) ) {
    $username = $_SESSION['username'];
    $q = "SELECT * FROM messages WHERE recepiants='$username' AND readcheck='T'";
    $count = mysql_num_rows($q);
?>
<div class="user_info">Logged in as <?php echo $username; ?> | <a href="admin.php">Add a post</a> | <a href="experiment.php">View Posts</a> | <a href="inbox.php">Message Center <?php echo $count; ?> </a> | <a href="logout.php">Log Out</a></div>
<?php } else {?> 

脚本成功报告了 $username$count 没有返回数字。有任何想法吗?我在某处缺少括号或分号吗?

最佳答案

mysql_num_rows需要一个查询资源——你正在提供一个字符串。您需要先执行查询,然后才能期望知道有关其结果的任何信息。

$sql = "SELECT * FROM messages WHERE recepiants='$username' AND readcheck='T'";
if(!$query = mysql_query($sql))
  trigger_error(mysql_error().' SQL: '.$sql);
$count = mysql_num_rows($query);

我怀疑上面的代码也会根据您在查询中输入“收件人”的错误而产生错误。始终检查 mysql_query 的返回值。

编辑:正如 jeroen 所指出的,如果您粘贴的是该页面的全部代码,那么您就忽略了打开数据库连接。参见 mysql_connectmysql_select_db .

关于php - 计算 MySQL 行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503966/

相关文章:

php - MySQL 查询根据特定标记组合在获取行时返回不需要的行

php - 如何在 PHP Mysql 中回显新记录与选定的旧记录?

mysql - 如何改进具有多个 JOINS 的 MYSQL 查询

javascript - HTML Canvas 宽度无法调整

javascript - 到达屏幕顶部时的 jquery/css 转换

php - $_POST *not* 中的值可以是字符串吗?

php - mysql 数据库规范化

mysql - 如何排除 SQL 中的特定记录?

html - Bootstrap 5 模态页脚左右对齐

php - 下拉列表未在 IE 中填充?