gpt4 book ai didi

php - Wordpress wpdb->删除问题

转载 作者:行者123 更新时间:2023-12-04 16:01:28 27 4
gpt4 key购买 nike

我正在尝试以编程方式从数据库中删除一条记录。当我像这样对其进行硬编码时,它确实会从数据库中删除一条记录:

$wpdb->delete( $table_name, array( 'user_id' => 1, 'timeMin' => 10), array('%d', '%d') );

但是,当我尝试使用变量以动态方式执行此操作时,它不起作用。我什至尝试将变量转换为 int 以确保它们是正确的类型。

$id = (int) wp_get_current_user()->ID;
$time = (int) $_POST['umjp_time'];

$wpdb->delete( $table_name, array( 'user_id' => $id, 'timeMin' => $time), array('%d','%d'));

为什么使用变量的动态代码不起作用,我该如何解决这个问题?

最佳答案

这是我推荐的做法:

function vendor_module_remove_dealer($data)
{
global $wpdb;

$sql = 'DELETE FROM `'. $wpdb->prefix .'my_table` WHERE `primary_id` = %d;';

try {
$wpdb->query($wpdb->prepare($sql, array($data['primary-id'])));

return true;
} catch (Exception $e) {
return 'Error! '. $wpdb->last_error;
}
}

这将防止 SQL 注入(inject)并安全地删除您的记录,如果失败,将返回错误消息:)

关于php - Wordpress wpdb->删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50370947/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com