Quiero obtener el registro más reciente de la tabla session_details, por lo tanto, utilicé ORDER BY ... DESC pero la salida no llega. Tengo una sesión de usuario para obtener el valor del inicio de sesión.
<head> <title></title> </head> <body> <a href="../includes/logout.php"> logout mofo </a><br> <?php if(!isset($_SESSION)) { session_start(); } include_once('../includes/connection.php'); echo $_SESSION['id']; $sql = "SELECT * FROM session_details WHERE student_id = '" . $_SESSION['id'] . "' ORDER BY 'session_id DESC LIMIT 1 "; $result = mysqli_query($conn, $sql); if ($result) { while($row = mysqli_fetch_assoc($result)) { echo "Session ID:" . $row["session_id"] . "<br>"; echo "ID: " . $row["student_id"] ."<br>"; echo "Student Name: " . $row["student_name"]. "<br>"; echo "Lecturer Name: " . $row["supervisor_name"]. "<br>"; } } else { echo "0 results"; } ?> </body> </html>session_start() debe hacerse primero antes de que se envíe algo al búfer de salida. No necesita estar dentro de una prueba, simplemente inicie la sesión en cada script que lo necesite antes de hacer cualquier otra cosa.
<?php session_start(); ?> <head> <title></title> </head> <body> <a href="../includes/logout.php"> logout mofo </a><br> <?php include_once('../includes/connection.php'); echo $_SESSION['id']; $sql = "SELECT * FROM session_details WHERE student_id = '" . $_SESSION['id'] . "' ORDER BY session_id DESC LIMIT 1 "; $result = mysqli_query($conn, $sql); if ($result) { while($row = mysqli_fetch_assoc($result)) { echo "Session ID:" . $row["session_id"] . "<br>"; echo "ID: " . $row["student_id"] ."<br>"; echo "Student Name: " . $row["student_name"]. "<br>"; echo "Lecturer Name: " . $row["supervisor_name"]. "<br>"; } } else { echo "0 results"; } ?> </body> </html>Realmente debería usar consultas enlazadas parametrizadas para protegerlo también contra la inyección SQl
<?php session_start(); ?> <head> <title></title> </head> <body> <a href="../includes/logout.php"> logout mofo </a><br> <?php include_once('../includes/connection.php'); echo $_SESSION['id']; $sql = "SELECT * FROM session_details WHERE student_id = ? ORDER BY `session_id` DESC LIMIT 1 "; $stmt = $conn->prepare($sql); $stmt->bind_param('i', $_SESSION['id']); $result = $stmt->execute(); while($row = $result->fetch_assoc()) { echo "Session ID:" . $row["session_id"] . "<br>"; echo "ID: " . $row["student_id"] ."<br>"; echo "Student Name: " . $row["student_name"]. "<br>"; echo "Lecturer Name: " . $row["supervisor_name"]. "<br>"; } ?> </body> </html>