大家好,我运行一个基于wordpress的网站,我想存储用户调用的搜索查询,将其用作分析数据,以了解搜索最多的内容等。。。所以我有一个自定义表,其中的行是
query => the searched query
counter => how many times this query has been searched for
所以一切正常,我遇到的唯一问题是撇号。我需要在数据库中检查查询是否已经存在,因为如果它已经存在,我只需更新计数器,否则我将插入新行。
我使用默认值get_query_var(\'s\')
我相信wordpress会自动转义。
我用来检查搜索的查询是否已存储在数据库中的简单SQL查询如下:
$search_query = get_query_var(\'s\');
$wpdb->get_row("SELECT * FROM $table WHERE query = \'$search_query\'");
if( $wpdb->num_rows == 0 ) { // insert... }
else { // update... }
我有理由认为这个变量很好,因为它正确地存储在数据库中,没有任何额外的斜杠。只是我运行的SQL查询不起作用,它不返回任何结果,因此它不断插入具有相同query
价值我愿意接受任何解决方案,即使使用LIKE
但我相信我遗漏了一些东西,解决方案比我想象的要简单,我宁愿继续使用=
运算符,因为我需要匹配精确的查询。提前非常感谢大家。
P、 它可以很好地处理没有引号的查询,插入新查询并更新现有查询。