我希望有人能帮我解决这个相对简单的问题:
<?php $idairports = the_ID(); ?>
$liveposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM wp_airports WHERE id = ".$idairports."") );
似乎我无法获得传递到上面的字符串中的变量。
$idairports应该是一个数值…
如果我执行这个<?php echo $idairports ?>
,我确实得到了值
但是我没有得到这里的值FROM wp_airports WHERE id = ".$idairports.""
我做错了什么
感谢好的,我找到了主要问题:
global $wpdb;
$page_object = $wp_query->get_queried_object();
$page_id = $wp_query->get_queried_object_id();
$idairports = $page_id;
这似乎是我得到the_ID();
值错误的方式…
如果我得到上面的page_id,它工作100%
有没有人可以解释为什么如果我在MYSQL语句外回显the_ID(), the_ID()会起作用…
你的引号搞砸了,你的php标签看起来很尴尬:
<?php
$idairports = the_ID();
$liveposts = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_airports WHERE id = ' . $idairports));
?>
我认为你的问题是双引号。当像这样引用id时,请尝试删除引号。
$liveposts = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_airports WHERE id = ' . $idairports) );