Hier is de basissjabloon voor dit soort dingen, met behulp van ingebouwde php-functies (uitgaande van mysql in oude stijl, maar vergelijkbaar met andere database-back-ends of bibliotheken op een hoger niveau). In dit voorbeeld worden fouten afgehandeld door uitzonderingen te genereren, maar dat is slechts één manier om het te doen.
- Verbind met de database
- Controleer of de verbinding is gelukt
- Voer de zoekopdracht uit
- Zorg ervoor dat de query niet om de een of andere reden is mislukt (meestal een SQL-syntaxisfout). Als het niet is gelukt, zoek dan uit waarom en behandel die fout
- Controleer of de zoekopdracht ten minste één rij heeft geretourneerd (nul rijen is meestal een speciaal geval)
- Loop over de geretourneerde rijen en doe wat u maar wilt.
De uitzonderingsklassen moeten worden gedefinieerd (ze zijn de enige niet-ingebouwde syntaxis hier, maar u moet geen gewone uitzonderingen gebruiken).
Voorbeeldcode:
<?PHP
//try to connect to your database.
$conn = mysql_connect(...);
//handle errors if connection failed.
if (! $conn){
throw new Db_Connect_Error(..);
}
// (try to) run your query.
$resultset = mysql_query('SELECT ...');
//handle errors if query failed. mysql_error() will give you some handy hints.
if (! $resultset){
// probably a syntax error in your SQL,
// but could be some other error
throw new Db_Query_Exception("DB Error: " . mysql_error());
}
//so now we know we have a valid resultset
//zero-length results are usually a a special case
if (mysql_num_rows($resultset) == 0){
//do something sensible, like tell the user no records match, etc....
}else{
// our query returned at least one result. loop over results and do stuff.
while($row = mysql_fetch_assoc($resultset)){
//do something with the contents of $row
}
}