Отображение профиля сотрудника после входа в систему

  • Автор темы Vasiliska88
  • 31
  • Обновлено
  • 13, May 2024
  • #1
Я столкнулся с проблемой: мой запрос не может быть выполнен, возникла ошибка, я новичок, поэтому не знаю, в чем проблема.

Кто-нибудь может помочь мне решить проблему?

кодировка профиля.php:

сеанс_start();

$employee_id=$_SESSION['employee_id'];

$query=query("ВЫБРАТЬ * ИЗ сотрудника WHERE сотрудник_ид = '$employee_id");

подтвердить ($ запрос);

while($row=mysqli_fetch_assoc($query)){

$employee_name = $row['employee_name'];

$employee_ic=$row['employee_ic'];

$employee_image=$row['employee_image'];

}

?>

Имя сотрудника IC-номер сотрудника

Vasiliska88


Рег
30 Mar, 2015

Тем
1

Постов
2

Баллов
12
  • 18, May 2024
  • #2
проблема с ошибкой показывает, что возможна утечка памяти, где.

ниже приведен код, который я изменил.

$con=mysqli_connect("localhost","root","","hrm");

сеанс_start();

$employee_id=$_SESSION['employee_id'];

$query="ВЫБРАТЬ * ОТ сотрудника WHERE сотрудника_id= 'employee_id'";

если ($ результат = mysqli_query ($ con, $query)) {

while($row=mysqli_fetch_assoc($result)){

$employee_name = $row['employee_name'];

$employee_ic=$row['employee_ic'];

$employee_image=$row['employee_image'];

$contact_no=$row['contact_no'];

$emergency_no=$row['emergency_no'];

$address=$row['адрес'];

$job_title=$row['job_title'];

$department=$row['департамент'];

}

mysqli_free_result ($ результат);

}

mysqli_close($кон);

?>
 

pwae


Рег
13 Apr, 2012

Тем
0

Постов
3

Баллов
3
  • 03, Jun 2024
  • #3
сообщение об ошибке дает неопределенное сообщение запроса

вот моя функция входа:

if(isset($_POST['submit'])){

$email = $_POST['электронная почта'];

$email_query=query("SELECT * FROM сотрудника WHERE user_email='{$email}'");

если(mysqli_num_rows($email_query)==0){

$_SESSION['email_not_valid']=$email;

перенаправление("index.php");

}еще{

$password = escape_string($_POST['password']);

$query = query («ВЫБРАТЬ * ОТ сотрудника WHERE user_email = '{$email}' AND user_password = '{$password}'»);

подтвердить ($ запрос);

while($row = fetch_array($query)){

$db_user_email = $row['user_email'];

$db_user_password = $row['user_password'];

$db_user_role = $row['user_role'];

$db_username=$row['username'];

$db_employee_id=$row['employee_id'];

}

if($email == $db_user_email & & $password == $db_user_password & & $db_user_role == "сотрудник"){

$_SESSION['user_email'] = $db_user_email;

$_SESSION['user_role'] = $db_user_role;

$_SESSION['username']=$db_username;

$_SESSION['employee_id']=$db_employee_id;

//Переходим на нужную страницу, если пароль и адрес электронной почты верны, а роль пользователя — администратор

перенаправление("../employee/index.php");

}
 

asdasdasd2


Рег
26 Aug, 2014

Тем
1

Постов
3

Баллов
13
  • 08, Jun 2024
  • #4
Вероятно, ошибка находится в той строке, где вы указываете строку SQL.

В целях тестирования попробуйте заменить эту строку вариантами строки SQL и посмотреть, что произойдет, т. е. есть ли у вас правильное подключение к базе данных.

Итак, из исходного сообщения попробуйте изменить исходную строку:

$query=query("ВЫБРАТЬ * ИЗ сотрудника WHERE сотрудник_ид = '$employee_id");

Приведенная выше строка кажется мне неправильной, потому что вы неправильно формируете запрос для mysqli_fetch_assoc.

Скорее всего, это будет:

$query="ВЫБРАТЬ * ИЗ сотрудника WHERE сотрудника_id = '$employee_id";

Затем позже в вашем сценарии вы должны использовать mysqli_fetch_assoc($conn, $query) для запуска запроса, где $conn — переменная подключения к базе данных.

Таким образом, вы не формируете правильный синтаксис SQL-запроса и неправильно передаете его в mysqli_fetch_assoc($conn, $query).
 

Дима Ракицкий


Рег
22 Apr, 2012

Тем
1

Постов
3

Баллов
13
  • 08, Jun 2024
  • #5
Вам не хватает одинарной кавычки после переменной в запросе.

Кроме того, запрос и стиль кодирования плачевны — всегда используйте подготовленные запросы, даже если вы должны «знать», что переменная безопасна.

Конечно, вы используете mysqli_ вместо mysql_, и это хорошо, но большая часть смысла перехода с mysql_ теряется, если вы фактически не используете современные способы использования обработчика БД.
 

John3


Рег
26 Aug, 2013

Тем
0

Постов
3

Баллов
3
Тем
49554
Комментарии
57426
Опыт
552966

Интересно