0

wordpressでデータベースにアクセスするために新しいwpdbを使用しています。

$mydb = new wpdb($username,$password,$database,$hostname);
$sql = $mydb->prepare("SELECT * FROM " . $table);
$results = $mydb->get_results($sql);

この行はエラーを生成します:

$sql = $mydb->prepare("SELECT * FROM " . $table);

wpdb::prepare が正しく呼び出されませんでした。wpdb::prepare() には少なくとも 2 つの引数が必要です。

以下のステートメントはすべて同じエラーを生成します。

$sql = $mydb->prepare("SELECT * FROM $table");
$sql = $mydb->prepare("SELECT * FROM '%s'", $table);

引数なしでどうやって書くの?

(ワードプレス3.5を使用しています)

4

1 に答える 1

0

$table が有効なテーブル名であると仮定すると、最後の例で '%s' から一重引用符を外してください。

編集: $wpdb->prepare() は、より制限された規模で php の sprintf() と同様に機能します。単一のパラメーターを渡すだけでは、何もしません。3.5 がリリースされた後の Andrew Nacin の投稿を参照してください。

2 番目のパラメータは、置換可能な文字セット (%s、%d、または %f) の最初のインスタンスを置き換え、3 番目のパラメータは 2 番目のインスタンスを置き換える、というように続きます。

于 2013-04-05T20:24:00.727 に答える