私のプラグインコードでは、2つのテーブルからテーブルIDを取得しています。 IDは一方のテーブルから引き出されていますが、他方のテーブルからは引き出されていないので、両方のインスタンスでエラーが発生します。クエリはmysqlで使用します。何かご意見は?コードは下にあり、その下に出力されます。 IDはwp_shclassテーブルから取得されますが、wp_shinstructorテーブルからは取得されません。私が数日間これを見つめていて、何が悪いのかわからないという考え。私はWP 3.3.1を使用しています
function shmain_admin(){
if (!current_user_can('manage_options')) {
wp_die( __('You do not have sufficient permissions to access this page.') );
}
echo "Hello class";
global $wpdb;
$shrow = $wpdb->get_row("select * from wp_shclass ORDER BY classid DESC LIMIT 1", ARRAY_A);
$shclassid = $shrow['classid'];
echo "<br> this is " . $shclassid;
$wpdb->show_errors();
$wpdb->print_error();
echo "<br> Hello instructor";
$shrow = $wpdb->get_row("select * from wp_shinstructor ORDER BY instructorid DESC LIMIT 1", ARRAY_A);
$shinstructorid = $shrow['instructorid'];
echo "<br> this is " . $shinstructorid;
$wpdb->print_error();
}
function shmain_admin_action(){
add_menu_page('sh main', 'main', 'manage_options','shmain', 'shmain_admin');
}
add_action('admin_menu','shmain_admin_action');
そしてこれが以下の出力です
こんにちはクラス8
WordPress database error: [] select * from wp_shclass ORDER BY classid DESC LIMIT 1
こんにちはインストラクターはこちら
WordPress database error: [] select * from wp_shinstructor ORDER BY instructorid DESC LIMIT 1
テーブルを削除して再作成することで問題は解決しました。問題は私がテーブルを作成した方法にありました
一般的に、私は$wpdb
について 詳細をCodex で読むことを勧めます。
いくつかのメモ:
wp_
プレフィックスを使用しないでください。$wpdb->prefix
を使って追加されるべきです。ただし、次のSQLコマンドを使用して接頭辞を変更できます。 "RENAME table wp_posts TO {$wpdb->prefix}posts;"