Return MYSQL 列中字符串的频率 PHP

Return frequency of string in MYSQL column with PHP

在搜索了几个问题后,我仍在为 PHP 中的 mysql 查询而苦苦挣扎,我目前的目标是做一个 MYSQL 查询来计算有多少重复字符串在一个列中,然后 return 这个数量在一个 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 returns 成功时为资源,错误时为 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() 使用 table

的返回值
$magic_row = mysql_fetch_assoc($magic);
echo $magic_row['total_num'];

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