您好,我即将编写聊天脚本。唯一剩下的就是将用户看到的消息数与数据库中的总数进行比较。现在以下行似乎不起作用,我已经盯着它看了一个小时,找不到原因。
$count = mysql_query('SELECT COUNT(id) as total FROM konsultaciq WHERE cat = "'.$_SESSION['key'].'" ');
echo count(total);
当数据库中有 8 个条目在该“猫”下时,回显给我一个值“1”
如下更改您的代码。
$count = mysql_query('SELECT COUNT(id) as total FROM konsultaciq WHERE cat = "'.$_SESSION['key'].'" ');
$res=mysql_fetch_array($count);
echo $res[0]; // it gives actual value of total
$count = mysql_query('SELECT COUNT(id) as total FROM konsultaciq WHERE cat = "'.$_SESSION['key'].'" ');
$arr = mysql_fetch_array($count);
echo $arr['total'];
使用上面的代码。由于您没有通过 using 获取数据mysql_fetch_*
,如果您将使用 count 函数,那么它将显示 1,因为它正在获取一行。
count
函数用于计算PHP中数组中元素的数量,并且只有一个元素。
所以$arr['total']
用来获取查询总计数的值。
注意: mysql_* 在 PHP 的最新版本中已被弃用。所以使用 mysqli_* 或 PDO。
您不应该使用 MySQL 扩展。这是一个使用 PDO 代替的示例
$pdo = new PDO('mysql:host=localhost;dbname=your_db_name;charset=utf8', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare('SELECT COUNT(1) FROM konsultaciq WHERE cat = ?');
$stmt->bindParam(1, $_SESSION['key']);
$stmt->execute();
echo $stmt->fetchColumn();