Php 为什么Wordpress$wpdb->;返回的行为0时的query()响应1
我在自定义函数中执行以下操作:Php 为什么Wordpress$wpdb->;返回的行为0时的query()响应1,php,wordpress,Php,Wordpress,我在自定义函数中执行以下操作: $exists = $wpdb->query($wpdb->prepare(' SELECT COUNT(*) FROM wp_%d_gdsr_data_article WHERE post_id = %d ', $blog_id, $post_id)); $exists的计算结果为1,即使查询未返回任何行。此外,var_dump($wpdb->querys)会产生一个空值。有人知道这是怎么回事吗 谢谢,改用$wpd
$exists = $wpdb->query($wpdb->prepare('
SELECT COUNT(*)
FROM wp_%d_gdsr_data_article
WHERE post_id = %d
', $blog_id, $post_id));
$exists的计算结果为1,即使查询未返回任何行。此外,var_dump($wpdb->querys)会产生一个空值。有人知道这是怎么回事吗
谢谢,改用$wpdb->get\u var($query)
因此,使用$wpdb->get_row()
将单行作为单个对象(或数组)检索,并使用$wpdb->get_results()
获取结果集。来自:
该函数返回一个整数
对应于行数
受影响/选定。如果有MySQL
错误,函数将返回FALSE。
(注意:因为0和FALSE都可以
返回,请确保使用
正确的比较运算符:相等
==对同一性===)
查询返回1行,因此
query()
函数返回1
,并且对于您在问题中发布的查询,将始终返回1
,即使计数选择的行数为0。使用HeadMedic建议的get_var
,get_row
,或get_results
,获取查询的实际结果,可能是0
,1
,2
,等等。谢谢,但当它应该返回行计数时,为什么会返回1?还知道为什么$wpdb->querys是空的吗?$wpdb->query()
应该只用于可执行查询,因为它只返回行数,如果没有行,则返回false<代码>$wpdb->querys
仅在将savequerys
定义为true时使用。