您好我正在使用插件(短代码标签顶部和底部)将PHP写入WP页面。
但是,下面的代码不会返回除结果之外的任何结果 “DONE 排列 ( )“
SQL(SELECT ID FROM wiz_posts WHERE post_status ='publish')可以正常使用phpMyAdmin
[insert_php]
global $wpdb;
$myresults =$wpdb->get_results( $wpdb->prepare( "SELECT ID FROM $wpdb-
>wiz_posts WHERE post_status = d% ", 'publish') );
echo 'DONE <br>';
print_r ($myresults);
[/insert_php]
我无法弄清楚我做错了什么。有没有帮助老狗学习新技巧?
ps这是在本地主机服务器上运行。
答案 0 :(得分:0)
有效占位符为:
因此,既然您要传入字符串,就要使用%s
。
$myresults =$wpdb->get_results( $wpdb->prepare( "SELECT ID FROM $wpdb->wiz_posts
WHERE post_status = %s ", 'publish') );
答案 1 :(得分:0)
我添加了@aynber提到的占位符更正。另外,在选择表时,您不应使用$wpdb
全局变量,因此$wpdb->wiz_posts
应为wiz_posts
。
<?php
global $wpdb;
$myresults =$wpdb->get_results( $wpdb->prepare( "SELECT ID FROM wiz_posts WHERE post_status = %s", "publish") );
echo 'DONE <br>';
print_r ($myresults);
?>