У меня проблемы с отображением имени зарегистрированного пользователя.
Я пытаюсь показать правильное имя пользователя, который вошел в систему.
это сеанс, который был установлен для установки имени пользователя (Gebruikersnaam):
$_SESSION["USER"] = $result["Gebruikersnaam"];
Я пытался что-то вроде этого:
$test = $_SESSION['USER'];
$sql = "
SELECT *
FROM klant
WHERE klant.Gebruikersnaam = $test
";
<?php
if(isset($_SESSION['USER'])) {
foreach ($db->query($sql) as $klant){ ?>
<p><span class="glyphicon glyphicon-user"></span><?php echo $klant['Voorletters']. " " .$klant['Tussenvoegsel']. " " .$klant['Tussenvoegsel']; ?></p>
<?php
} } ?>
Но это не делает трюк, это даст мне это сообщение об ошибке:
Неустранимая ошибка: необработанное исключение PDO: SQLSTATE [42S22]: столбец не найден:
1054 Неизвестный столбец 'jan' в 'where clause' в
C: \ xampp \ htdocs \ Rent-a-Car \ pages \ topmenu.php: 55 Трассировка стека: # 0
C: \ xampp \ htdocs \ Rent-a-Car \ pages \ topmenu.php (55): PDO-> запрос ('SELECT *)
FROM k ... ') # 1 C: \ xampp \ htdocs \ Rent-a-Car \ pages \ auto.php (2):
include ('C: \ xampp \ htdocs ...') # 2 {main}
C: \ xampp \ htdocs \ Rent-a-Car \ pages \ topmenu.php в строке 55
UPDATE
следующий код работает наполовину.
$sql = "SELECT * FROM klant WHERE Gebruikersnaam = :name";
$stmt = $db->prepare($sql)
$stmt->execute([':name' => $test]);
$data = $stmt->fetch(\PDO::FETCH_ASSOC);
это работает, но единственная проблема, которая у меня сейчас есть, это:
<?php
if(isset($_SESSION['USER'])) {
foreach ($db->query($data) as $klant){ ?>
<p><span class="glyphicon glyphicon-user"></span><?php echo $klant['Voorletters']. " " .$klant['Tussenvoegsel']. " " .$klant['Tussenvoegsel']; ?></p>
<?php
} } ?>
Это даст мне эту ошибку:
Предупреждение: PDO :: query () ожидает, что параметр 1 будет строкой, а массив указан в C: \ xampp \ htdocs \ Rent-a-Car \ pages \ topmenu.php в строке 61
Предупреждение. В foreach () указан неверный аргумент
C: \ xampp \ htdocs \ Rent-a-Car \ pages \ topmenu.php в строке 61
Я знаю, в чем проблема (что она возвращает только одну вещь), но я не знаю, что делать дальше, чтобы получить правильное имя (Voorletters, Tussenvoegsel) для пользователя.