Reputation: 79
I want to select the last row for my database and echo the columns titled s1 and s2 to the body of the web page, the following is my code. This gives an error.
<html>
<body>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb2";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT s1, s2 from reading ORDER BY id DESC LIMIT 1";
$row = array();
$row = mysqli_query($conn,$sql);
echo " cup 1". $row["s1"]. "CUP 2". $row["s2"];
?>
</body>
</html>
Upvotes: 2
Views: 1207
Reputation: 839
Use mysqli_fetch_assoc for fetching the result to array
$sql = "SELECT s1, s2 from reading ORDER BY id DESC LIMIT 1";
if ($result = mysqli_query($conn, $sql)) {
$row = mysqli_fetch_assoc($result);
echo " cup 1". $row["s1"]. "CUP 2". $row["s2"];
}
Upvotes: 0
Reputation:
<html>
<body>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb2";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("MySQL Connection Error"); // Try not to output SQL error messages on the front-end, look into error_reporting()
}
$sqlQuery = "SELECT s1, s2 from reading ORDER BY id DESC LIMIT 1";
$results = mysqli_fetch_assoc(mysqli_query($conn, $sqlQuery));
echo " cup 1". $results["s1"]. "CUP 2". $results["s2"];
?>
</body>
</html>
In addition to that, I suggest not doing your SQL operations in both procedural style and object-oriented style, as this can lead to many complications in the future.
Upvotes: 0
Reputation: 593
You have to use mysqli_fetch_assoc (that will loop through your resultset) as follows:
if ($result = mysqli_query($conn, $sql)) {
while ($row = mysqli_fetch_assoc($result)) {
echo " cup 1". $row["s1"]. "CUP 2". $row["s2"];
}
/* free result set */
mysqli_free_result($result);
}
Without loop:
if ($result = mysqli_query($conn, $sql)) {
$row = mysqli_fetch_assoc($result);
if($row)
{
echo " cup 1". $row["s1"]. "CUP 2". $row["s2"];
}
/* free result set */
mysqli_free_result($result);
}
Upvotes: 2