Gegevens uitlezen uit Mysql DB lukt niet | Notice: Trying to get property of non-object in C:\xampp

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mohamed nvt

Mohamed nvt

13/04/2016 21:17:08
Quote Anchor link
Hallo allemaal,

Onlangs ben ik begonnen met PHP en tot nu toe vind ik het erg interessant.
Helaas niet alles werkt zoals ik het zou willen.

Ik volg een training via Pluralsight : PHP fundamentals, en ik ben nu bij hoofdstuk gegevens uitlezen van een Mysql DB.

En zoals de titel aangeeft, krijg ik een error bij het uitlezen van een tabel uit een Mysql DB.

De volgende code gebruik ik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$servername
= "localhost";
$username = "hawar";
$password = "wachtwoord";
$dbname = "phpfundamentals";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
}
else {
    echo "0 results";
}

$conn->close();
?>




In regel 17 staat: if ($result->num_rows > 0)

Het lukt me helaas niet om het op te lossen.

Graag jullie suggesties!
Dank!

Groeten,

Hawar
 
PHP hulp

PHP hulp

12/12/2024 15:19:38
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/04/2016 21:28:03
Quote Anchor link
Dag Hawar,

Als alles goed gaat dan hou je een Result object over op regel 15. Maar blijkbaar treedt daar al een fout op en krijg je in plaats van een object een FALSE terug. Vervolgens probeert je script op regel 17 de property 'num_rows' te benaderen en komt er een foutmelding. Je kunt wel je fouten afvangen met volgend stukje code in plaats van regel 15:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (!$result = $conn->query($sql)) {
    echo 'Error: ' . $mysqli->error;
    exit;
}

?>
Gewijzigd op 13/04/2016 21:30:38 door Frank Nietbelangrijk
 
Mohamed nvt

Mohamed nvt

13/04/2016 21:39:59
Quote Anchor link
Hallo Frank,

Ik ga het proberen.

tnx!
 
- Ariën  -
Beheerder

- Ariën -

13/04/2016 21:45:10
Quote Anchor link
Of extend je MySQLi-class, en breid de query-functie uit met ingebouwde foutafhandeling.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
class Database extends mysqli
{
    function
query($query)
    {

        $result = parent::query($query);
        if($this->error) {
            throw new Exception(mysqli_error($this), mysqli_errno($this));
        }

        return $result;
    }
}
  
?>
Gewijzigd op 13/04/2016 21:45:41 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.