0

エラーメッセージが表示されます:

警告:wpdb :: prepare()の引数2がありません。これは、/ home / url.com / wp-content / plugins / WPEC-Personalize-3.8 / wpec-personalization.phpの322行で呼び出され、/ home/urlで定義されています。 990行目のcom/wp-includes / wp-db.php

322行目のコードを見つけました:

$add = $wpdb->get_var($wpdb->prepare("SELECT enabled FROM ". $table_name ." WHERE pers_id  = ". $myresults->pers_id." AND product_id = ".$product_id));

私はそれを新しいワードプレス(3.5クエリ)標準に更新しようとしています:

$add = $wpdb->get_var($wpdb->prepare("SELECT enabled FROM %d WHERE pers_id  = %d AND product_id = %s",$table_name, $myresults->pers_id, $product_id));

何が間違っているのかわかりませんが、上記のコードを更新するとエラーメッセージが表示されなくなりましたが、製品を更新するたびにすべてのカスタムフィールドが複製されます。

4

2 に答える 2

1

%sは引数が文字列であること%dを示すために使用され、 は数値を示すために使用されます。質問に投稿されたコードでは、これらが間違って使用されています。それらを修正します。

$add = $wpdb->get_var($wpdb->prepare(
    "SELECT enabled FROM %s WHERE pers_id = %d AND product_id = %d",
//                       ^^ These are wrong in your posted code ^^
    $table_name,
    $myresults->pers_id,
    $product_id
));
于 2013-01-31T01:16:10.577 に答える
-1

このコードを wp-config.php ファイルに貼り付けます

@ini_set('display_errors', 0);

私もこのコードを過ぎました。警告メッセージが表示されなくなりました。

于 2013-11-28T17:15:08.640 に答える