php - mysql中的计数器不起作用

标签 php mysql sql search

我正在尝试使用一个简单的计数器在网站上实现“最流行的搜索”功能。这个想法是第一次进行搜索时,查询存储在一个特殊的表中。之后,每次进行相同的搜索时,计数都会递增 1。我认为我完全按照我应该做的去做,但代码似乎不起作用。 count 值在表中保持为 NULL。这是我的代码。 “Searchny”是我存储搜索的表格。非常感谢任何指针!

$search_result = mysql_query("SELECT * FROM searchny WHERE sok='$sokt'");

if(mysql_num_rows($search_result) == 0 ) { 
    $sql = "INSERT INTO searchny (sok, dt) VALUES ('" . $sokt . "', NOW());"; 
    mysql_query($sql);
}
else {
    mysql_query("UPDATE searchny SET count = count+1 WHERE sok='$sokt'");
} 

最佳答案

可能您的计数列默认为 NULL,并且每个 count+1 都不会减少 NULL。尝试将默认值设置为 1 或在 INSERT 中将其明确设置为 1。

关于php - mysql中的计数器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8912710/

相关文章:

php - 从PHP中的Sqlcipher加密数据库中选择行

PHP CURL 很少出现 SSL 连接错误

javascript - 如何防止页面重定向但仍然提交表单

mysql - 大量的 AND 是否会成为 mySQL 中的性能问题?

mysql - 使用准备好的语句中不支持的 INFORMATION_SCHEMA,但我没有使用准备好的语句?

mysql - 单个 MySQL 查询以选择具有相互匹配的特定单元格的任何行

mysql - 如何最后订购没有库存的商品

sql - 使用 sql 查询在 ms Access 中的两个不同列中添加值

php - 交互式PHP

mysql - CakePHP saveAll 更新或插入相关数据