繁体   English   中英

Wordpress SQL查询结果不同

[英]Wordpress SQL query different results

我添加了一个自定义的Visual Composer元素,并希望输出查询结果。 但是,当我输出此查询(1)时,它会提供其他结果,然后输出此查询(2)。

// declared vars
global $wpdb;
$nn = '{{ post_data:ID }}';
$nn1 = (string)$nn;

 1)   $results2 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = 526 AND guid like '%pdf'", OBJECT );
 2)  $results2 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = ".$nn1." AND guid like '%pdf'", OBJECT );

当我输出526字符串(查询1)时,它给出了正确的结果,但我希望输出与var一起,因为每个帖子都有其唯一的ID。

我也尝试将var放在一个字符串中,因此它不会被视为POST_ID

$nn = '{{ post_data:ID }}'; 
$nn1 = (string)$nn;

任何想法失败的想法?

我在此期间尝试过的:

$nn1 = (string)$nn;
$nn2 = strval($nn);
$nn3 = settype($nn, "string");

$results1 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = ".$nn1." AND guid like '%pdf'", OBJECT );
$results2 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = ".$nn2." AND guid like '%pdf'", OBJECT );
$results3 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = ".$nn3." AND guid like '%pdf'", OBJECT );
$results4 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = %d AND guid like '%pdf'", $nn3, OBJECT );

以上所有都返回一个空字符串,这意味着var仍然有问题

当我回显整个字符串时,它返回正确的mysql查询:

echo ("SELECT guid FROM wp_posts WHERE post_parent = ".$nn."");
//output
SELECT guid FROM wp_posts WHERE post_parent = 526;

当我执行该查询时,它为我提供了正确的解决方案:

$results6 = $GLOBALS['wpdb']->get_results( "SELECT guid FROM wp_posts WHERE post_parent = 526", OBJECT );
// output
[6]=>object(stdClass)#8030 (1) {
["guid"]=>
string(69) "http://blabla.pdf"}

格尔茨

您的测试似乎都没有包含您显示的一个查询:

$GLOBALS['wpdb']->get_results(
    "SELECT guid FROM wp_posts WHERE post_parent = $nn", 
    OBJECT 
);

不需要进行任何类型的转换,特别是不要进行字符串转换。 $nn应该包含int 526

完全披露:我不是WP开发者,我不知道你是如何从'{{ post_data:ID }}'256 ,也是string(18) "526"对我来说似乎是一个非常奇怪的输出。 (groetjes aan de daddykaters!)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM