更新与用户登录ID匹配的SQL行


Updating SQL rows where row matches user log in ID

我对这行代码有一个问题-我花了一天的大部分时间试图解决这个问题-有人可以帮助吗?这里是代码,是导致问题的形式,我可以看到!问题是围绕$qry…

$qry = "INSERT INTO members (employer, flat) VALUES('$employ','$address') WHERE     login='$_login'";
    $result = @mysql_query($qry);
    //Check whether the query was successful or not
    if($result) {
        header("location: member-profile.php");
        exit();
    }else {
        die("Query failed");
    }
?>

ERROR显示为:(!)注意:未定义变量:_login在C:'wamp'www'123456'update.php第67行

谢谢。

第一个变量$_login是未定义的,其次,似乎您正在尝试更新。查询SELECT时,不需要使用WHERE

如果你想更新,那么你的查询应该非常像这样:

$sql = 'UPDATE table SET username = '$username' WHERE id = $_login;

变量$_login基本上意味着没有定义变量$_login。你必须给它一个值,然后你才能期望它在你的查询中工作。

INSERT不允许使用WHERE属性,您需要使用UPDATE代替

"UPDATE members SET employer='$employ', flat='$address' WHERE login='$_login'"

确保防止SQL注入,因为mysql_*函数已被弃用,您应该切换到MySQLi或PDO

对于错误本身,您需要检查您正在使用的变量是否已定义

if (!isSet($_login))
    // do sth