gpt4 book ai didi

php - 更新命令在 PHP 中无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 11:20:43 24 4
gpt4 key购买 nike

$query = "UPDATE members SET userrole ='$userrole' WHERE member_id = '$member_id'";

有时更新有时不更新...不知道语法对不对

userrole 和 member_id 具有值数组。更新查询针对多个正在检查的项目执行。

mysql连接没有错误或error....第一次更新没有发生,之后发生了

最佳答案

如果两个变量都包含数组,这将无法工作。您需要一项一项地更新(或使用笨拙的 MySql CASE 语句,在此不做解释):

foreach ($userrole as $key => $role) {
$query = "UPDATE members SET userrole ='$role'
WHERE member_id = '$member_id[$key]'";
// perform query ...
}

或者如果只有 $member_id 是一个数组:

$query = "UPDATE members SET userrole ='$userrole'
WHERE member_id IN ('" . implode(',', $member_id) . "')";
// perform query ...

您应该进一步重命名您的变量以反射(reflect)它们是数组。只需使用复数:

$userrole => $userroles
$member_id => $member_ids

关于更多的事情:这些值是否来自 HTML 表单?如果是,you should really使用 mysql_escape_string() 对它们进行 sanitizer .这可以使用 array_map() 一次对多个值完成:

$userroles = array_map('mysql_escape_string', $userroles);
$member_ids = array_map('mysql_escape_string', $member_ids);

关于php - 更新命令在 PHP 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1130247/

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