U bent hier
Begin van een applicatie

Voor het opzetten van een applicatie binnen PHP & MySQl, gaan we een tweetal programma's voor gebruiken.
Het volgende artikel maakt gebruik van PHPMyAdmin en een PHP editor.
Dit artikel gaat ervan uit dat je het artikel:
gelezen hebt.
PHPMyadmin
Het pakket is in het vorige artikel besproken.
Hij is te vinden op :
http://phpmyadmin.sourceforge.net/download.html
PHP editor
Ik gebruik hiervoor Notepad ++
Deze (of een update) is te vinden op:
http://notepad-plus.sourceforge.net/nl/site.htm
Installeer het pakket en maak een snelkoppeling op je bureaublad.
De volledige script.
Het eerst laat ik jullie het volledige script zien, waarna de uitleg per gedeelte volgt.
Allereerst het volledige script.
De uitleg
Try Catch
Dit mechanisme is nieuw in PHP5.
Het zorgt ervoor dat je een fouten afhandelingsroutine voor het uitlezen van de MySQL database zelf kunt ontwerpen.
Ziet er simpel uit zou je zeggen.
De try probeert de query uit te voeren.
Zit er een fout in de query, treedt het catch mechanisme in werking.
Let wel alleen het kunnen uitvoeren van de query wordt getest, niet de resulaten van de query.
PDO
PDO is een database onhafhankelijke Data Access Abstract Layer.
Dat betekend dat je PDO kan gebruiken voor verschillende database types.
Hier gebruik ik als database type MySQL,
De opbouw van PDO is altijd hetzelfde.
Je geeft aan
- het type database ( mysql )
- de host ( localhost)
- de database ( adressen )
- inlognaam ( gebruiker )
- wachtwoord ( wachtwoord )
Met het woord new geef je dat PDO een nieuw object dient te gaan maken.
Waarvan alle eigenschappen toegankelijk zijn via $db
Om van de foutmeldingen gebruik te kunnen maken, wordt in de tweede regel de fouten routine eigenschappen gedefineerd.
setAttribute
Voor een nadere uitleg ziervoor op http://nl.php.net/manual/en/pdo.error-handling.php
De derde regel probeert of de query uitgevooerd kan worden.
prepare
Ontstaat er ergens een fout, zal er nu direct naat de catch gegaan worden.
De query wordt dus niet defintief uitgevoerd.
Alleen maar gesimuleerd.
Let wel.
Er wordt alleen gekeken of de query uit te voeren is.
De syntax wordt gecheckt.
Niet of de resultaten de gewenste resultaten zijn.
Verloopt de simulatie goed zal de query daadwerkelijk uitgevoerd gaan woorden
execute
De uitvoer
De uitvoer komt uit een foreach loop.
foreach ( $st->fetchAll() as $rij
Deze eigenschap fetchAll() zorgt ervoor dat alle records opgehaald worden.
De foreach loop doet de rest.
Let wel op de notatie van de variablelen ( $rij["straat"].
De blokhaken en de dubbele aanhalingstekesns zijn hier nodig.
Catch
Het mechanisme welke voor de foutenmeldingen zorgt.
Dit zal op een productie server anders er uit zien dan op een test server.
In dit gevak is er voor een minmaal bericht gekozen.
Een voorbeeld.
File: |
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'naam2' in 'order clause' |
Voor uitgebreidere foutmeldingen zie op http://nl.php.net/manual/en/pdo.error-handling.php
Wel of geen resultaat
Binnen de try heb ik de de variable $resultaat gedefinieerd. ( leeg gedefinieerd ) $resultaat = "" Hiermee kan ik PHP zelfs in strict mode goed laten werken. Deze mode is het meest kritisch en laat zelfs waarschuwingen zien als het volgens hem nog beter zou kunnen. Op de meeste productie server is deze trouwens niet zo ingesteld. Als binnen de foreach loop er geen resultaat is, zou ik toch wat op mijn scherm willen zien. Als er resultaat is, wordt $resultaat gevuld met 1 ( meerdere malen zelfs ) Als er na de foreach loop geen $resultaat is, if ( 1 != $resultaat ) Komt er een bericht Er zijn geen resultaten.
Dit script is trouwens in te vinden onder de naam naw_begin.zip
De volgende artikelen
De volgende artikelen zullen gaan over:
- Het toevoegen van gegevens
- Ordening in de toepassing brengen
- Het veranderen van gegevens
- Het verwijderen van gegevens
- Het zoeken van gegevens
- De laatste stappen in het verfijnen
Veel programmeer plezier ermee.
Tot ziens,
Ubel Jan van Wijhe
van Wijhe Consultancy
info@vanwijhecons.nl
- 0 reacties


