Наконец, я решил начать использовать подготовленные заявления. Хотя, я 50/50 на то, что правильно и нет. Я пытаюсь сделать страницу входа с подготовленными заявлениями. Хотя, похоже, он не извлекает значение сеанса, кроме имени пользователя $_SESSION
Вот мой код:
$username = $_POST['username']; $password = md5($_POST['password']); $sql = "SELECT * FROM users WHERE BINARY username=? AND BINARY password=?"; if($stmt = $db->prepare($sql)){ $stmt->bind_param("ss",$username,$password); $stmt->execute(); $result = $stmt->get_result(); $num_rows = $result->num_rows; if($num_rows >= 1){ $_SESSION['loggedin'] = $username; $_SESSION['country'] = $num_rows['country']; $_SESSION['email'] = $num_rows['email']; $_SESSION['avatar'] = $num_rows['u_avatar']; $_SESSION['is_gm'] = $num_rows['is_gm']; $_SESSION['user_lvl'] = $num_rows['user_lvl']; $_SESSION['totalposts'] = $num_rows['post_total']; $_SESSION['totalcoins'] = $num_rows['coins_total']; $_SESSION['totalvotes'] = $num_rows['vote_total']; $_SESSION['secquest'] = $num_rows['sec_quest']; $_SESSION['secanswer'] = $num_rows['sec_answer']; $_SESSION['join_date'] = $num_rows['join_date']; header("Location: /index.php"); exit(); } else { echo "<p class='error_msg'>No accounts could be found with the given credentials.</p>"; } $stmt->free_result(); $stmt->close(); $db->close(); }