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






ошибка подключения к базе данных 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();
mysqli_error($con)не сработает, вы используете другую переменную.