SQL查询:
$kk = count($_SESSION['cart']);
foreach($_SESSION['cart'] as $kk => $vv) {
$getcurrentname = $_SESSION["name"];
$sql = "UPDATE 'cart' SET 'status' = 'Done Transaction' WHERE 'user_code' = (SELECT 'user_code' FROM 'user_tbl' WHERE 'f_name' ='$getcurrentname')";
mysqli_query($link,$sql) OR DIE(mysqli_error($link).$sql);
我不知道我是否使用过时版本的SQL,或者只是我的SQL查询错误。
答案 0 :(得分:1)
将所有单引号替换为Grave accent(Back-ticks)符号,这些符号包含查询中的列和表。您不能在查询中的单引号或双引号中包装mysql列或表。
$sql = "UPDATE `cart` SET `status` = 'Done Transaction' WHERE `user_code` = (SELECT `user_code` FROM `user_tbl` WHERE `f_name` = '$getcurrentname')";
答案 1 :(得分:0)
将User_Code =
更改为User_Code IN
UPDATE 'cart' SET 'status' = 'Done Transaction'
WHERE 'user_code'
IN (SELECT 'user_code' FROM 'user_tbl' WHERE 'f_name' ='$getcurrentname')";