我想不出这句话有什么问题。$wpdb->查询更新

时间:2018-12-12 作者:Tapha

我正在尝试使用$wpdb查询方法,但似乎无法使其正常工作。

当我尝试以下操作时,出现500错误:

$update_status = $wpdb->query($wpdb->prepare("UPDATE {$wpdb->prefix}wcpv_commissions SET commission_status = \'".$status."\' WHERE vendor_id = \'".$vendor_id."\' AND order_date BETWEEN \'".$date1."\' AND \'".$date2."\'"));
这里有我遗漏的东西吗。我没有太多使用$wpdb,所以我肯定我错过了一些东西。

我很感激这里的任何帮助。

谢谢

1 个回复
最合适的回答,由SO网友:kero 整理而成

如果没有错误消息,很难说出确切的问题。重要的是debug within WordPress 并检查您的Web服务器错误日志。

一个问题是prepare(). 该方法接受2个或多个参数,您只传递了1个。相反,请尝试以下操作

$update_status = $wpdb->query($wpdb->prepare(
    "UPDATE {$wpdb->prefix}wcpv_commissions SET commission_status = %s WHERE vendor_id = %d AND order_date BETWEEN %s AND %s",
    $status,
    $vendor_id,
    $date1,
    $date2
));