Выбрать данные из строки в базе данных

Я создаю страницу профиля, на которой хочу отображать электронную почту пользователя. Я думал, что это будет довольно простой код, который можно получить с помощью функции выбора из базы данных. Однако это работает только для одной строки, и я не могу понять, почему.

Это мой исходный код

session_start();

$_SESSION["user"] = $username;
$_SESSION["pass"] = $password;
$_SESSION["email"] = $email;
$connection = mysqli_connect ("localhost", "root", "", "picshare");

if ($connection ->connect_error) {
    die("Connection failed: " . $connection->connect_error);
}else{

$query = mysqli_query($connection, "SELECT email FROM login WHERE username='".$_SESSION["user"]."'");
$field = mysqli_fetch_assoc($query); 

    if (!$query)
    {
        die('Error: ' . mysqli_error($con));
    }if (mysqli_num_rows($query) > 0){
        $field = mysqli_fetch_assoc($query);


}else{
echo "error";
$conn->close();

    }}

Когда я пытаюсь ввести echo $ field, ничего не было отражено

            <p class  = "right uc"><?php       echo($field['email']);?></p> 

Я повторил код, но вместо использования сеанса создал переменную

$host = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "picshare";
$user = 'Eniola Olaogun';

$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}else{

$query = mysqli_query($conn, "SELECT email FROM login WHERE username='".$user."'");
$field = mysqli_fetch_assoc($query); 

    if (!$query)
    {
        die('Error: ' . mysqli_error($con));
    }if (mysqli_num_rows($query) > 0){
        $field = mysqli_fetch_assoc($query);
        echo($field['email']);

}else{
echo "error";
$conn->close();

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

Я вернулся к исходному коду и вошел в систему как Эниола Олаогун, и письмо было отражено, но как только я сменил человека, под которым вошел в систему, ни одно письмо не было отражено.

Я не уверен, почему у меня возникла эта проблема, и я буду очень признателен за некоторую помощь

mysqli_error($con) не сработает, вы используете другую переменную.
Funk Forty Niner 24.11.2018 18:30
Стоит ли изучать 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 и хотите разрабатывать...
1
1
41
2

Ответы 2

ошибка подключения к базе данных mysql через сумасшедшие домены

Похоже, это проблема с правами доступа, связанная с пользователем, под которым вы входите в систему.

Протестируйте его с паролем пользователя «root», который имеет глобальный доступ, а затем устраните неполадки и изолируйте его оттуда. Бьюсь об заклад, тогда ты его найдешь.

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

$host = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "picshare";
$user = 'Eniola Olaogun';

$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
else {
$sql = "SELECT email FROM login WHERE username= {$user}";
$result = $conn->query($sql); 

if ($result->num_rows > 0) {
        $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
        echo($row['email']);
}
else {
echo "error";
$conn->close();

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