2016-04-29 4 views
1

Ich möchte die letzte Zeile für meine Datenbank und echo die Spalten s1 und s2 auf den Körper der Webseite, die folgende ist mein Code. Dies gibt einen Fehler.Kann nicht Objekt des Typs mysqli_result als Array in PHP verwenden Mysql

<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> 
+4

Sie ließen das 'fetch' Teil, nach der Ausführung der Abfrage, holen die Ergebnisse – Ghost

Antwort

1

Sie haben mysqli_fetch_assoc zu verwenden (das wird eine Schleife durch Ihre Suchresultates) wie folgt:

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); 
} 

Ohne Schleife:

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); 
} 
+0

Warum Schleife für nur 1 Zeile? –

0

Ihre Lösung

<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 Neben Ich schlage vor, dass Sie Ihre SQL-Operationen nicht sowohl im prozeduralen Stil als auch im objektorientierten Stil ausführen, da dies in der Zukunft zu vielen Komplikationen führen kann.

0

Verwenden mysqli_fetch_assoc für das Ergebnis-Array holen

$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"]; 
} 
Verwandte Themen