Geachten,

Het leek mij een uitdaging om de tutorial van "winkelwagen-update-van-de-tutorial" up te daten naar mysqli.

Daar ik nieuw ben in het gebruik van mysql / mysqli, hoop ik hier begeleidende hulp en tips te vinden.

De config.php lijkt al te werken.


<?php
// Mysqli host
$host = 'localhost';
// Mysqli gebruikersnaam
$user = 'root';
// Mysqli wachtwoord
$pass = 'usbw';
// Mysqli database naam
$datb = 'myshop';

$db = new mysqli($host, $user, $pass, $datb);

if($db->connect_errno > 0){
    die('Kan niet verbinden met de database [' . $db->connect_error . ']');
}
?>


Dit leek mij een goede aanpassing.

volgende stap begon ik te twijfelen (vooral omdat mijn usbwebserver geen melding geeft over mysql deprecated blablabla...)


index.php
$sql = mysql_query("SELECT * FROM producten ORDER BY titel ASC");

zou ik dan aanpassen naar
$sql = mysqli_query($db,"SELECT * producten ORDER BY titel ASC");


graag had ik opmerkingen en tips ontvangen zodat ik op het juiste pad meeloop :-)

mvg, Nick
Ja als je op mysqli wilt overstappen dan doe je dat op ALLE mysql(i)_* functies. dus ook op mysql(i)_query.

PHP biedt mysqli in twee smaken: procedureel en OOP. In je config gebruik je nu OOP dus dan zou het netjes zijn om in de rest van je programma ook OOP te gebruiken. Je krijgt dan zoiets:

<?php
$sql = $db->query("SELECT * producten ORDER BY titel ASC");
?>

Ook vind ik de variabelenaam $sql onhandig gekozen. Je krijgt namelijk helemaal geen SQL terug maar een Resultset. Veranderd dat dus liever in $result of iets dergelijks.
Hoi Frank, bedankt voor je feedback.

Dit ga ik proberen mee te nemen.
Afhankelijk van hoe oud je applicatie is is dit wellicht ook een uitgelezen moment om alle code eens door te lichten, in plaats van enkel database-gerelateerde code.
even een update met betrekking tot het index bestand. Dit werkt al fijn :-)

<?php
// Database connectie maken
$db = mysqli_connect("localhost", "gebruiker", "paswoord", "database");

// Als de database connectie mislukt, genereer een error
if (!$db) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

// Style pagina invoegen
echo '<link rel="stylesheet" type="text/css" href="CSS/Winkelwagen.css" />';

// Alle items uit de db halen
$resultaat = mysqli_query($db, "SELECT * FROM ARTIKEL ORDER BY Naam ASC");

// Als query is gelukt
if($resultaat)
{
    // Als er items zijn
    if(mysqli_num_rows($resultaat) > 0) // als het aantal rijen in de tabel groter is dan 0
    {
        echo '<div class="wrapper">';
		echo "<table border=1>";
		echo "<tr><td><b>Artikelnummer</b></td><td><b>Naam</b></td><td><b>Afbeelding</b></td><td><b>Prijs</b></td><td><b>Meer</b></td></tr>"; //bovenste regel van de tabel
			//lus uitvoeren om producten in een tabel weer te geven
            while($rec = mysqli_fetch_array($resultaat)) // zolang er nog artikelen in de database zitten, deze lus uivoeren
            {
                echo '<div class="artikel_e">';
                    // Product id
                    echo '<input type="hidden" name="product_id" value="'.$rec['Artikel_id'].'" />';
					
                    // Product id_intern
					echo '<tr><td>'.$rec['Artikel_id_intern'].'</td>';
					
                    // De titel
                    echo '<td>'.$rec['Naam'].'<br /></td>';
                    
                    // De afbeelding
                    echo '<td><img alt="" src="CSS/IMAGES/PRODUCTEN/'.$rec['Afbeelding1'].'" /><br /></td>';
                    
                    // Prijs
                    echo '<td>&euro; '.$rec['Prijs_vkp'].'<br /></td>';
					
                    // Meer details
                    echo '<td><a href="Product.php?Pid='.$rec['Artikel_id'].'">Meer details</a></td></tr>';
                echo '</div>';
            }
		echo "</table>";
        echo '</div>';
    }
    // Anders
    else
    {
        // Geen producten
        echo 'Er zijn nog geen producten in de etalage.';
    }
}
// Anders
else
{
    // Mysql error opvangen
    echo 'Er is een fout opgetreden bij de query. <br />';
    echo mysqli_error();
}
mysqli_close($db);
?> 


hop naar het volgende :-)

Reageren