2017-06-23 8 views
0

こんにちは私は、PHPをWPページに書き込むためにプラグイン(短いコードタグの上と下)を使用しています。 WordPressのページコードでPHPを実行しようとすると結果が返されません

しかしながら 以外の結果が "DONE アレイ( )" を返す以下のコード

[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] 

のphpMyAdminから正常に動作しSQL(post_status = '公開' はwiz_posts FROM IDを選択)

私が間違っていることを理解できません。新しいトリックを学ぶ古い犬のための助け?

psこれはローカルホストサーバーで実行されています。

答えて

0

@aynberのようにプレースホルダ修正を追加しました。また、テーブルを選択するときには$wpdbグローバル変数を使用しないので、$wpdb->wiz_postswiz_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); 
?> 
0

有効なプレースホルダは、次のとおりです。

  • %は、sの文字列、整数のため
  • % dの
  • あなたは、文字列で渡しているので、フロートので

ため

  • % Fを、あなた%sを使用します。

    $myresults =$wpdb->get_results($wpdb->prepare("SELECT ID FROM $wpdb->wiz_posts 
        WHERE post_status = %s ", 'publish')); 
    
  • +0

    おかげで、私はまだ何の結果:( – Cheerychops

    +0

    働いていた、これを変更しないが、しているの助けに感謝を - 。次の課題に – Cheerychops

    関連する問題