Beste mede forum gebruikers,

Voor mijn website wil ik een pagina maken waar het aantal configuratie items in een database wordt weergegeven.
Dus gewoon een simpele tekst die zegt: 'Er zijn 75 configuraties'.
Ik heb op internet al zitten zoeken maar daar ben ik niet veel wijzer van geworden.

Kan iemand mij daar bij helpen?


Groeten,

Niels
Bedankt!

Ik krijg nu de melding Notice: Undefined property: stdClass::$aantal als ik 'm uitvoer?


<?php  


$con =  mysqli_connect("localhost","root","","cmdb");
$sql = "SELECT COUNT(1) AS aantal FROM configuraties";
$result = mysqli_query($con, $sql);
$row = mysqli_fetch_field($result);
echo "Er zijn ". $row->aantal. "configuraties";
?>
Voer die query eens uit in PhpMyAdmin? Misschien is de query in $result wel ergens fout, waardoor deze niet de resutl geeft, maar een boolean (met false).
Ik mis nogal wat foutafhandelingen.

- Wie zegt dat de verbinding met mysqli_connect() ook goed opgezet is? Je zou iets als dit moeten hebben:
<?php
$con = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

if (!$con) {
echo 'Connectie fout (' . mysqli_connect_errno() . ') '
. mysqli_connect_error();
}

echo "Success...\n";

mysqli_close($link);
?>

Hetzelfde geldt voor mysqli_query. Een query kan mislukken en dit kun je controlleren. Kijk eens op deze pagina en dan onder het kopje Return Values.
- Aar - op 12/05/2015 15:53:49

Voer die query eens uit in PhpMyAdmin? Misschien is de query in $result wel ergens fout, waardoor deze niet de resutl geeft, maar een boolean (met false).


Ik heb de query uitgeprobeerd in PHPMyAdmin en hij blijkt gewoon te werken?
mysqli_fetch_field is meer bedoeld om allerlei meta data omtrent een resultaatkolom op te halen.

Gebruik gewoon fetch_row en pak de eerste kolom (index 0)?
of fetch_assoc. Dan blijft je code wat beter leesbaar.

<?php
echo $row[0]; //what the fuck is column 0 ?
?>

vs

<?php
echo $row['aantal']; // ahhh het gaat over een aantal :-)
?>
Thomas van den Heuvel op 13/05/2015 12:26:52

mysqli_fetch_field is meer bedoeld om allerlei meta data omtrent een resultaatkolom op te halen.

Gebruik gewoon fetch_row en pak de eerste kolom (index 0)?

Die naamgevingen zijn soms zeer verwarrend. Bij de oude depricated MySQL-functies had je gewoon mysql_result(), maar dat gaat niet op bij MySQLi. De fetch_row() is een stuk beter inderdaad.

Reageren