web-dev-qa-db-ja.com

カスタムテーブルに対するwpdbクエリが機能しない

私はWordPressがインストールされている私のデータベースから一つのカスタムテーブルを見せたいです。それで、私はこのコードをグーグルしました:

<?php 
$results = $wpdb->get_results( $wpdb->prepare("SELECT * FROM sparte-bogensport") );
foreach ($results as $result) { 
     echo '<p>' .$result->id. '</p>';
} ?>

しかし、うまくいきません。テストのためにテーブル名を1つのWordに変更すると、うまくいきます。

<?php 
$results = $wpdb->get_results( $wpdb->prepare("SELECT * FROM test") );
foreach ($results as $result) { 
     echo '<p>' .$result->tester. '</p>';
} ?>

sparte-bogensportテーブル名が機能しないのはなぜですか?

このクエリはページ上に表示されるべきです。私はプラグイン「投稿のためのPHPコード」を使いましたが、これはWordPressの変数をサポートしていません。あなたは私に代わるものがありますか?

よろしく

1
Peronia

このようにテーブル名を引用符で囲んでみてください

SELECT * FROM `sparte-bogensport`

編集

なぜこれが起こるのかについての詳細な情報: http://dev.mysql.com/doc/refman/5.7/en/identifiers.html

2
Juan Fuentes