Показать данные авторизованного пользователя в profile.php

    <?php


  require('db.php');


  $_SESSION['sloggedIn'] = "yes";
  $data1['first_name'] = $_SESSION['sfirstname'];
  $data1['email'] = $_SESSION['semail'];  
  
  $sqlQuery = "SELECT first_name, email FROM otium where id = :id";

  file_put_contents('log/DBErrors.txt', 'Connection: '.'rivi8'.$sqlQuery."\n", FILE_APPEND);
  $kysely1 = $DBH->prepare($sqlQuery);
  $kysely1->execute($data1);

  // Loop the recordset $rs
  // Each row will be made into an array ($row) using mysqli_fetch_array
  //while($row = mysqli_fetch_array($rs)) {

    // Write the value of the column FirstName (which is now in the array $row)
    echo $sqlQuery['first_name'] . "<br />";
    echo $sqlQuery['email'] . "<br />";

  //}

  ?>

Первый раз, когда я делаю этот php, и я хотел бы распечатать данные пользователя, вошедшие в систему, у меня есть этот код, но он не работает! пожалуйста помоги

$sqlQuery - это, очевидно, простая строка, содержащая ваш SQL. Почему вы ожидаете, что он волшебным образом превратится в массив или будет содержать полученные результаты вашего запроса? Ни один из остальной части вашего кода не изменяет эту переменную каким-либо образом. И ... любое руководство по PDO покажет вам, как получить результаты вашего запроса ... phpdelusions.net/pdo#foreach - это всего лишь один. В инструкции также есть примеры. Вы проводили какое-либо фундаментальное исследование?
ADyson 30.03.2021 13:04

Добро пожаловать в Stack Overflow. В качестве общего совета я бы рекомендовал прочитать Как спросить, чтобы узнать, как написать хороший вопрос. Для получения конкретных советов я бы порекомендовал изучить, что именно вы должны предоставить методу execute. Вы также, кажется, смешали расширения PDO и mysqli.

El_Vanja 30.03.2021 13:06

Вы также никогда ничего не привязываете к :id. Используемый вами массив $data1 содержит только first_name и email (которые не являются заполнителями в вашем запросе). Здесь много принципиальных вопросов. Вы должны пройти несколько руководств по PHP + MySQL и прочитать руководство.

Magnus Eriksson 30.03.2021 13:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
3
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

$sqlQuery - это просто строковая переменная, содержащая запрос, вы не можете ожидать, что это будет массив.

Я предполагаю, что у вас уже есть firstName и адрес электронной почты из сеанса, тогда нет необходимости выполнять sql-запрос, просто распечатайте сеанс, и ваша работа будет выполнена.

echo $_SESSION['first_name'] . "<br />";
echo $_SESSION['email'] . "<br />";

Другие вопросы по теме