0

我收到错误消息:

警告:wpdb::prepare() 缺少参数 2,在第 322 行的 /home/url.com/wp-content/plugins/WPEC-Personalize-3.8/wpec-personalization.php 中调用并在 /home/url 中定义。 com/wp-includes/wp-db.php 在第 990 行

我在第 322 行找到了代码:

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

我正在尝试将其更新为新的 wordpress(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用于表示参数为字符串,while%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 回答