我无法更新我的配置文件页面。我可以更新它,但是它将更新所有记录,因此我认为我仅在用户名(Gebruikersnaam)与会话用户名($ _SESSION ['USER'])相同时进行更新。
这是我尝试过的方法,但这对我不起作用。
<?php
if (isset($_POST["wijzig"])) {
global $db;
$Voorletters = htmlspecialchars($_POST["Voorletters"]);
$Tussenvoegsel = htmlspecialchars($_POST["Tussenvoegsel"]);
$Achternaam = htmlspecialchars($_POST["Achternaam"]);
$Adres = htmlspecialchars($_POST["Adres"]);
$Postcode = htmlspecialchars($_POST["Postcode"]);
$Woonplaats = htmlspecialchars($_POST["Woonplaats"]);
$Gebruikersnaam = $_SESSION['USER'];
$sql1 = "UPDATE klant SET Voorletters=:voorletters, Tussenvoegsel=:tussenvoegsel, Achternaam=:achternaam, Adres=:adres, Postcode=:postcode, Woonplaats=:woonplaats
WHERE Gebruikersnaam = $Gebruikersnaam";
$stmt = $db->prepare($sql1);
$data = array("voorletters" => $Voorletters, "tussenvoegsel" => $Tussenvoegsel, "achternaam" => $Achternaam, "adres" => $Adres, "postcode" => $Postcode, "woonplaats" => $Woonplaats);
try {
$stmt->execute($data);
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
?>
我得到的错误:
SQLSTATE [42S22]:找不到列:1054中的未知列'faas' “ where子句”
这是我的第一个问题,因此,如果我错过了一些信息或东西,请告诉我。希望你们能帮助我!
答案 0 :(得分:1)
"UPDATE klant SET Voorletters=:voorletters, Tussenvoegsel=:tussenvoegsel, Achternaam=:achternaam, Adres=:adres, Postcode=:postcode, Woonplaats=:woonplaats
WHERE Gebruikersnaam = '$Gebruikersnaam'";
您缺少WHERE
子句中的引号。但是,您应该为此使用一条准备好的语句,因为您的代码可以进行SQL注入。