Hallo,

ik zou heel graag de informatie van een database opvragen en hierbij bepaalde info teruggeven in een tabel.
Ik weet het, het internet staat vol met tutorials en andere hulpmiddelen. Maar die zijn voor mij niet duidelijk genoeg (geen php kennis).


Dit is een voorbeeldje van wat ik nu heb. Maar het werkt nog niet.
Heeft iemand een beter voorbeeld voor me? Of één die gemakkelijker aan te passen is?

Alvast bedankt.

<?php
$username = "root";
$password = "";
$hostname = "localhost";

//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";

//select a database to work with
$selected = mysqli_db("mysql",$dbhandle)
or die("Could not select mysql");
echo "Selected mysql<br>";

//execute the SQL query and return records
$result = mysqli_query("SELECT db, event, general_log");

//fetch tha data from the database
echo "<table>";
echo "<tr><td>db</th><th>Event</th><th>general_log</th></tr>";

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "<tr><td>";
echo $row['db'];
echo "</td><td>";
echo $row['event'];
echo "</td><td>";
echo $row['general_log'];
echo "</td></tr>";
}

echo "</table>";
//close the connection
mysqli_close($dbhandle);
?>
alstu, <?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);

$username = "root";
$password = "";
$hostname = "localhost";
$database = "examples";
//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password, $database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

//execute the SQL query and return records
$result = mysqli_query($dbhandle, "SELECT id, model,year FROM cars");

//fetch tha data from the database
while ($row = mysqli_fetch_array($dbhandle, $result)) {
echo "ID:" . $row{'id'} . " Name:" . $row{'model'} . "Year: " . //display the results
$row{'year'} . "<br>";
}
//close the connection
mysqli_close($dbhandle);
?>
<?php while ($row = mysqli_fetch_array($dbhandle, $result)) {?>

dat moet zijn

<?php while ($row = mysqli_fetch_array($result)) { ?>

En een regel verder:

<?php echo "ID:".$row{'id'}." Name:".$row{'model'}."Year: ". //display the results
$row{'year'}."<br>"; ?>
met vierkante haken:

<?php echo "ID:".$row['id']." Name:".$row['model']."Year: ". //display the results
$row['year']."<br>"; ?>
Niks houdt me tegen, heb ik ook niet gezegd. Ik ben al 6u aan een stuk bezig met het zoeken, ik probeer tijd te winnen door aan anderen (jullie) hulp te vragen.
Ivo P op 28/05/2014 17:09:29

<?php while ($row = mysqli_fetch_array($dbhandle, $result)) {?>

dat moet zijn

<?php while ($row = mysqli_fetch_array($result)) { ?>
En dan liefst ook direct assoc:
<?php while ($row = mysqli_fetch_assoc($result)) { ?>



En een regel verder:

<?php echo "ID:".$row{'id'}." Name:".$row{'model'}."Year: ". //display the results
$row{'year'}."<br>"; ?>
met vierkante haken:

<?php echo "ID:".$row['id']." Name:".$row['model']."Year: ". //display the results
$row['year']."<br>"; ?>



Misschien wat duidelijker: mysql is een T-Ford en mysqli is een moderne auto.
Pepijn --- op 28/05/2014 17:08:33

alstu, <?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);

$username = "root";
$password = "";
$hostname = "localhost";
$database = "examples";
//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password, $database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

//execute the SQL query and return records
$result = mysqli_query($dbhandle, "SELECT id, model,year FROM cars");

//fetch tha data from the database
while ($row = mysqli_fetch_array($dbhandle, $result)) {
echo "ID:" . $row{'id'} . " Name:" . $row{'model'} . "Year: " . //display the results
$row{'year'} . "<br>";
}
//close the connection
mysqli_close($dbhandle);
?>

Goed bedoeld, maar het is wel half werk. Het allerbelangrijkste... de query-foutafhandeling vergeet je met een simpele if-else.
Ik heb daarnet de versie van pepijn getest (hartelijk dank daarvoor) maar ik kreeg nog altijd een foutmelding. Hierbij heb ik dan nog 2 regels aangepast die ivo P had voorgesteld. Nog altijd krijg ik de laatste foutmelding niet weg.

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp\www\DBFact\DBFact.php on line 21


<?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);

$username = "root";
$password = "";
$hostname = "localhost";
$database = "examples";
//connection to the database
$dbhandle = mysqli_connect($hostname, $username, $password, $database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

//execute the SQL query and return records
$result = mysqli_query($dbhandle, "SELECT id, model,year FROM cars");

//fetch tha data from the database
while ($row = mysqli_fetch_assoc($result)) {
echo "ID:".$row['id']." Name:".$row['model']."Year: ". //display the results
$row['year']."<br>";
}
//close the connection
mysqli_close($dbhandle);
?>
Je query is mislukt.
Bouw foutafhandeling in.
Er mist foutafhandeling op je query. Kijk met een if-else statement naar $result, en kijk of deze false teruggeeft. In mysqli_error(...) staat de oorzaak.
Je kan geen 'year' als veldnaam gebruiken. Dat is een 'reserved word' functienaam van mysql.

Reageren