Обновлять только тогда, когда условие where совпадает с $ _SESSION - PullRequest
0 голосов
/ 18 января 2019

У меня проблемы с обновлением моей профильной страницы. Я могу обновить его, но тогда он обновит все записи, поэтому я думал, что обновлю только тогда, когда имя пользователя (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' в 'где пункт'

Это мой первый вопрос, поэтому дайте мне знать, если я пропустил какую-то информацию или что-то. Надеюсь, вы, ребята, можете мне помочь!

1 Ответ

0 голосов
/ 18 января 2019
"UPDATE klant SET Voorletters=:voorletters, Tussenvoegsel=:tussenvoegsel, Achternaam=:achternaam, Adres=:adres, Postcode=:postcode, Woonplaats=:woonplaats
    WHERE Gebruikersnaam = '$Gebruikersnaam'";

Вам не хватает кавычек в предложении WHERE. Вы должны использовать подготовленный оператор для этого, потому что ваш код открыт для внедрения SQL.

...