誰か私のコードの何が間違っているのか、どこを変更する必要があるのか教えてください
P粉147045274
2023-07-31 17:05:37
<p>SQL クエリを介してデータベースから WordPress プラグインにデータを取得しようとしています。ただし、エラーが表示されなくても、ループは機能しません。インターネットで多くの方法を試しましたが、どれもうまくいきませんでした。これが私のコードです:</p><p><br /></p>
<pre class="brush:php;toolbar:false;"><?php
関数 vssp_settings() {
グローバル $wpdb;
$result = $wpdb->get_results ( "SELECT * FROM students_list" );
foreach( $result as $print) {
?></pre>
<p>クエリ結果の表示:</p>
<pre class="brush:php;toolbar:false;"><td><?php echo $print["first_name"];?></td>
<td><?php echo $print["last_name"];?></td>
<td><?php echo $print["email"];?></td>
<td><?php echo $print["phone"];?></td>
<td><?php echo $print["アドレス"];?></td>
<?php
}
}
?></pre>
<p><br /></p>
WordPress では、デフォルトで、get_results 関数は連想配列ではなく stdClass オブジェクトの配列を返します。したがって、要素にアクセスするには、配列インデックスとして角括弧 ([]) を使用する代わりに、オブジェクト プロパティとして矢印演算子 (->) を使用する必要があります。
テーブル名 ('students_list') が正しく、データベースに実際に存在することを確認してください。テーブル名が変更されるか、WordPress プレフィックスに依存する場合は、 $wpdb->prefix . 'your_table_name' を使用する必要があります。
予防策として、潜在的な問題を回避するために、foreach ループを実行する前に $result が空かどうかを必ず確認してください。
さらに詳細なエラー情報については、WordPress でデバッグを有効にすることを検討してください。これを行うには、wp_config.php ファイルに次の行を追加します:define( 'WP_DEBUG', true );。これにより、診断目的でより包括的なエラー出力が提供されます。