У меня есть оператор if, который используется с страницей входа.Mysqli Подготовленный отчет не wokring
Я пытался преобразовать его в подготовленный mysqli оператор. Раньше это был просто обычный mysqli.
Проблема в том, что независимо от того, какой идентификатор я вхожу, он говорит о том, что неверный идентификатор! вместо перехода на правильную страницу.
if (isset($_POST['login']))
{
require "connect.php";
session_start();
if (count($_POST) > 0)
{
if ($stmt = mysqli_prepare($conn, "SELECT id, Login_ID, Name, User_Role_ID FROM user WHERE Login_ID = ?"));
$lid = $_POST["id"];
$stmt->bind_param("i", $lid);
$stmt->execute();
$stmt->bind_result($id, $Login_ID, $Name, $User_Role_ID);
$_SESSION["Student_DB_ID"] = $id;
$_SESSION["Login_ID"] = $Login_ID;
$_SESSION["Name"] = $Name;
$_SESSION["User_Role_ID"] = $User_Role_ID;
switch ($User_Role_ID)
{
case "2":
header("Location: ../views/student/");
break; //Student
case "1":
header("Location: ../views/admin/");
break; //Admin
default:
echo "Invalid ID!";
}
/* close statement */
$stmt->close();
$conn->close();
}
}
, потому что ваш STMT не массив. вы должны поймать набор результатов в переменной, а затем проверить с условием if. – Deep