使用另一个表列中的条件更新表列

时间:2018-01-17 15:14:38

标签: php mysql mariadb

每次我要更新数据库中的cart表时,我都会收到此错误。 enter image description here

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查询错误。

2 个答案:

答案 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')";