PHP警告:wpdb::prepare()Wordpress 3.5(已更新)缺少参数2
我收到错误消息: 警告:缺少wpdb::prepare()的参数2,在中调用 /home/url.com/wp-content/plugins/WPEC-Personalize-3.8/WPEC-personalization.php 第322行,并在/home/url.com/wp-includes/wp-db.php-on-line中定义 990 我在第322行找到了代码:PHP警告:wpdb::prepare()Wordpress 3.5(已更新)缺少参数2,php,wordpress,Php,Wordpress,我收到错误消息: 警告:缺少wpdb::prepare()的参数2,在中调用 /home/url.com/wp-content/plugins/WPEC-Personalize-3.8/WPEC-personalization.php 第322行,并在/home/url.com/wp-includes/wp-db.php-on-line中定义 990 我在第322行找到了代码: $add = $wpdb->get_var($wpdb->prepare("SELECT enabled
$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));
我不确定我做错了什么,但当我更新了上面的代码后,我就不再收到错误消息,但每次我更新产品时,它都会复制所有自定义字段
%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
));
在wp-config.php文件中跳过此代码
@ini_set('display_errors', 0);
我也通过了这个代码。现在没有显示警告消息。最好只升级插件。插件作者应该已经解决了这个问题。插件作者不再支持插件了…:-(你能为我指出正确的方向,告诉我如何修复它们或找出它们应该是什么吗?谢谢你的帮助!