0

こんにちは、エラー メッセージが表示されます。

Warning: Missing argument 2 for wpdb::prepare(), called in /home/url.com/wp-content/plugins/WPEC-Personalize-3.8/wpec-personalization.php on line 322 and defined in /home/url.com/wp-includes/wp-db.php on line 990

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

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

新しいワードプレス標準に更新しようとしています:

$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

ピリオドを捨てる。の開きブラケットもありませんget_var

$add = $wpdb->get_var( $wpdb->prepare(
    "SELECT enabled FROM %s WHERE pers_id = %d AND product_id = %d",
    $table_name, 
    $myresults->pers_id, 
    $product_id
));
于 2013-01-30T17:01:18.383 に答える
0

この行:

$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));

括弧が欠落しているようで、クエリにはピリオドがたくさんありますが、そこにあるべきではないと確信しています。

$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));

また、私はWordpressのバックエンドのプロsprintf()ではありませんが、クエリで構文を使用しているようで、%dおそらくテーブル名にはあまり適していない10進数を示しています.

とにかく、プラグインが現在のバージョンで動作しなくなった場合、コードで実際に何が起こっているのかについて、プラグインの作成者にサポートを依頼する必要があります。

于 2013-01-30T17:04:07.117 に答える