使用 PHP 返回 MYSQL 列中字符串的频率


Return frequency of string in MYSQL column with PHP

搜索了几个问题后,我仍在为 PHP 中的 mysql 查询而苦苦挣扎,我目前的目标是做一个 MYSQL 查询,计算一列中有多少重复字符串,然后将这个数量返回到要写入数据库的 INT 变量中。当前代码如下所示:

//Fetch value from form and uppercase the string
$glitter = utf8_decode(strtoupper($_POST['code_string'])); 
$magic = mysql_query("SELECT COUNT(*) FROM table WHERE CODE_STR = '$glitter'");

下一步是将 var $magic插入到数据库的 INT 字段中,但该值始终为 0。我的错误在哪里?

谢谢。

mysql_query在成功时返回资源,或在错误时返回 FALSE。试试这个

$magic = mysql_query("SELECT COUNT(*) as count FROM table WHERE CODE_STR = '$glitter'");
$row = mysql_fetch_assoc($magic);
$count = $row['count'];

你的方法是正确的。你现在需要做的是

将查询从

$magic = mysql_query("SELECT COUNT(*) FROM table WHERE CODE_STR = '$glitter'");

$magic = mysql_query("SELECT COUNT(*) as total_num FROM table WHERE CODE_STR = '$glitter'");

mysql_fetch_assoc() 使用表中返回的值

$magic_row = mysql_fetch_assoc($magic);
echo $magic_row['total_num'];

http://php.net/manual/en/function.mysql-fetch-assoc.php