WP_QUERY WITH LIKE返回奇怪的查询

时间:2020-02-03 作者:Sam222

但在作品中,比较起来还是不错的

   array(

                    \'key\' => \'customdata\',

                    \'value\' => $arraydata,

                    \'compare\' => \'IN\'

                ),
但是,当我在下面使用LIKE进行尝试时,它会返回带有长代码的奇怪结果,而且也没有找到针对它的记录。非常感谢任何帮助

   array(

                    \'key\' => \'customdata\',

                    \'value\' => $arraydata,

                    \'compare\' => \'LIKE\'

                )

$loop = new WP_Query($loopArray);
echo "Query: {$loop->request}";

1 个回复
SO网友:Jacob Peattie

您不能使用LIKE 比较阵列。LIKE 用于检查字符串是否匹配或部分匹配数据库中的值。

IN 用于检查数据库中的值是否在给定的值集中。

它们不能互换。

在您的案例中使用的正确比较完全取决于您使用的数据以及您试图做的事情,这在您的问题或评论中并不清楚。但这里有一些建议:

如果要匹配部分字符串,请使用LIKE.IN.BETWEEN.=.LIKE 查询数组中的每个项您看到的“奇怪”查询是$wpdb \'正在逃离% 中使用的占位符LIKE 查询。这是意料之中的,也是4.8.3中添加的安全功能的一部分。您可以在以下网站了解更多信息:this answer.

相关推荐

将PHP 7.1升级到7.3后调用未定义的函数MySQL_Connect()

我在Debian/Raspbian buster服务器上托管自己的WP站点。我将PHP 7.1升级到7.3,网站崩溃了。我不明白为什么它会坏,因为mysql\\u connect()不推荐用于7。x(虽然wp-db.php似乎广泛使用它,而wp一直在提醒您升级到7.3)。因此,我希望在全新的7.3安装php中启用各种模块。ini。MySQLi 被注释掉了,所以我启用了它(和其他一些),但仍然得到相同的错误。Call to undefined function mysql_connect()... wp-d