Php 仅当where子句与$\u会话相同时更新
我更新profile页面时遇到问题。我可以更新它,但它会更新所有记录,所以我认为我只会在用户名(Gebruikersnaam)与会话用户名($\u session['USER'])相同时更新 这是我尝试过的,但这对我不起作用Php 仅当where子句与$\u会话相同时更新,php,mysql,sql,sql-update,where,Php,Mysql,Sql,Sql Update,Where,我更新profile页面时遇到问题。我可以更新它,但它会更新所有记录,所以我认为我只会在用户名(Gebruikersnaam)与会话用户名($\u session['USER'])相同时更新 这是我尝试过的,但这对我不起作用 <?php if (isset($_POST["wijzig"])) { global $db; $Voorletters = htmlspecialchars($_POST["Voorletters"]); $Tussenvoegsel = htm
<?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子句”
这是我的第一个问题,所以如果我遗漏了一些信息或信息,请告诉我。希望你们能帮助我
"UPDATE klant SET Voorletters=:voorletters, Tussenvoegsel=:tussenvoegsel, Achternaam=:achternaam, Adres=:adres, Postcode=:postcode, Woonplaats=:woonplaats
WHERE Gebruikersnaam = '$Gebruikersnaam'";
WHERE
子句中缺少引号。不过,您应该为此使用一个准备好的语句,因为您的代码对SQL注入是开放的。您需要参数化所有数据!