首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少wpdb的参数2::prepare(),在第252行的/dbtable.php中调用,在第1246行的/public_html/wp-包含/wp-db.php中定义

缺少wpdb的参数2::prepare(),在第252行的/dbtable.php中调用,在第1246行的/public_html/wp-包含/wp-db.php中定义
EN

Stack Overflow用户
提问于 2017-01-31 19:35:59
回答 1查看 332关注 0票数 1

每天,我都会在日志文件中看到这个错误:

PHP警告:缺少wpdb::PHP()的参数2,在第252行的/home/xxxxxxxx/public_html/wp-content/plugins/affiliate-link-cloaking/dbtable.php中调用,在第1246行的/home/xxxxxx/public_html/wp-includes/wp-db.php中定义

在第252行的/dbtable.php中,我有以下代码:

代码语言:javascript
复制
$result = $wpdb->query($wpdb->prepare("DELETE FROM ". $this->track_table_name . " WHERE YEAR(visittime)=". date('Y',$sdate) . " AND MONTH(visittime)=" . date('m',$sdate) ));

在第1246行的/wp-db.php中,我有以下代码:

代码语言:javascript
复制
public function prepare( $query, $args ) {

请记住,我对PHP/SQL非常缺乏经验,我不会理解一般的技巧。请告诉我,在哪里复制和粘贴什么))

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-01-31 19:39:00

这不是使用$wpdb->prepare的正确方式,第一个值应该是带有替换令牌(%s=string,%d=digit,等等)的SQL,然后是要替换它们的值。

代码语言:javascript
复制
$sql = "DELETE FROM {$this->track_table_name} WHERE YEAR(visittime) = %d AND MONTH(visittime) = %d";
$query = $wpdb->prepare($sql, date('Y', $sdate), date('m', $sdate))
$wpdb->query($query);

参见这里的示例:https://developer.wordpress.org/reference/classes/wpdb/prepare/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41966054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档