gpt4 book ai didi

PHP MYSQL可重用删除查询

转载 作者:行者123 更新时间:2023-12-01 00:39:59 25 4
gpt4 key购买 nike

尝试创建一个删除函数,该函数将使用字段和值从任何表中删除。

问题是它不工作,我没有从中得到任何错误,我可以向数据库添加内容但不能删除它们。

if (isset($_REQUEST['delete']))
{
$table = $_POST['table'];
$field = $_POST['field'];
$value = $_POST['value'];

deleteFromTable($database, $table, $field, $value);
}

function deleteFromTable($pdo, $table, $field, $value)
{
$stmt = $pdo->prepare('DELETE FROM :table WHERE :field = :value');

$criteria = [
'table' => $table,
'field' => $field,
'value' => $value
];

$stmt->execute($criteria);
}

最佳答案

表格不能用作参数。虽然不安全,但最好将其放入查询中:

$stmt = $pdo->prepare("DELETE FROM `$table` WHERE $field = :value");

$stmt = $pdo->prepare('DELETE FROM `'.$table.'` WHERE `'.$field.'` = :value'); 

在继续查询之前,您确实应该检查以确保 $table 是可接受的值。

您还需要在参数上使用冒号,如下所示:

$criteria = [
':value' => $value
];

关于PHP MYSQL可重用删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34931065/

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