Eerst de manager opstarten |
En daarna vervolgens de services
zelf opstarten |
![]() |
![]() |
# . # # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # # Veranderd door Raymundo # # DocumentRoot "D:/wamp/www/" DocumentRoot "E:/Raymundo/PHP_en_MySQL/PHPscripts" # # # This should be changed to whatever you set DocumentRoot to. # # Veranderd door Raymundo # # <Directory "D:/wamp/www/"> <Directory "E:/Raymundo/PHP_en_MySQL/PHPscripts"> . . . |
Let op: dit moet dus op twee locaties in het bestand! Verander de variabele documentroot naar de gewenste directory. Let op de forward / i.p.v. de bachward \ |
<><?php |
XML-stijl |
<? |
Om deze short tags te kunnen
gebruiken moet in de PHP.INI bestand de volgende instelling worden
gezet: short_open_tag = on |
<h2>Bestel uw boek</h2> <form action="afhandel.php" name="bestelling" action="get"> <table> <tr> <th>Titel</th> <th>Aantal</th> </tr> <tr> <td>PHP in mootjes</td> <td><input type="text" name="PHPqt" size="3"></td> </tr> <tr> <td>MySQL doorgelicht</td> <td><input type="text" name="MySQLqt" size="3"></td> </tr> <tr> <td>Apache op pad</td> <td><input type="text" name="Apacheqt" size="3"></td> </tr> <tr colspan="2"> <td><input type="submit"></td> </tr> </table> </form> |
Voor de afhandeling door PHP op uw server
is belangrijk wat ingevuld staat als action-attribuut binnen de
form-tag. Het action-attribuut geeft aan: afhandel.php. Nadat de gebruiker op de knop Submit heeft geklikt, gaat de browser naar de URL die in het action-attribuut aangegeven is. Omdat de webpagina de extensie php heeft, zal de server alle scriptcode die op de pagina voorkomt door de PHP-engine laten uitvoeren. Een belangrijk parameter van een invoerveld is zijn naam: attribuut name. U mag de naam vrij kiezen, maar aan te raden is dat u in de naam tot uitdrukking brengt, welk gegeven dit veld bevat. Hier bijvoorbeeld PHPqt (PHP is naam van het boek en qt staat voor quantitiy). Klik hier voor een werkend voorbeeld. Waar worden de eigen scripts geplaatst??Let op: de PHP scrips moeten in de subdirectory www onder de wamp installatie directory worden geplaatst.(bij ons dus: D:\wamp\www) En de form tag komt er dan als volgt uit te zien: <form action="http://localhost/afhandel.php" name="bestelling" action="get">Om ervoor te zorgen dat je de PHPscripts in een andere directory dan 'D:\wamp\www' geplaatst kunnen worden moeten we in de http.conf file (te vinden in: 'D:\wamp\bin\apache\Apache2.2.11\conf') TWEE wijzigingen aanbrengen (overal D:/wamp/www/ vervangen door eigen locatie): 1. DocumentRoot "E:/Data/PHPscripts/" 2. # <Directory "D:/wamp/www/"> <Directory "E:/Data/PHPscripts/"> Verder kun je het bestand index.php welke standaard in de directory D:/wamp/www staat copiëren naar de nieuwe locatie. Wel moet dan de inhoud gewijzigd worden anders krijg je foutmeldingen bij de url: //http:localhost: //chemin jusqu'au fichier de conf de WampServer // $wampConfFile = '/wampmanager.conf'; // changed by Raymundo R. Hordijk $wampConfFile = 'D:/Wamp/wampmanager.conf'; Hoe worden de eigen scripts getest??Dit kan op twee manieren:
|
<?php // dit script handelt de invoer af van // bestel.htm $PHPqt = $_REQUEST["PHPqt"]; $MySQLqt = $_REQUEST["MySQLqt"]; $Apacheqt = $_REQUEST["Apacheqt"]; echo "U bestelde:<br>"; echo "$PHPqt PHP in mootjes<br>"; echo "$MySQLqt MySQL doorgelicht<br>"; echo "$Apacheqt Apache op pad<br>"; ?> |
Hier is de inhoud van
afhandel.php. Enkele opmerkingen: 1. // wordt net als in C gebruikt voor commentaar op één regel; Voor een blok kan ook /* */ gebruikt worden. 2. Elke variabelenaam begint met een $-teken; 3. Het echo commando wordt gebruikt om een interactieve html bestand aan te maken (de functie print is ook te gebruiken). |
<?php $programmeur = 'Rasmus Lerdorf'; $zin1 = 'Beste $programmeur!'; // Beste $programmeur! $zin2 = "Beste $programmeur!"; // Beste Rasmus Lerdorf! $zin3 = "Regel\nVolgende regel\ttab\tna tab"; echo '<pre>'; echo '1. '. $zin1 . '<br>'; echo '2. ' . $zin2 . '<br>'; echo '3. ' . $zin3 . '<br>'; echo '</pre>'; ?> |
Hiernaast staat een voorbeeld. Klik hier voor een HTML document waarin dit voorbeeld wordt toegepast, of open in de browser het bestand: http://localhost/doublequotes.php Uitvoer: 1. Beste $programmeur! |
Voorbeeld 1: klassiek array | <?php $kleuren[0] = "rood"; $kleuren[1] = "geel"; $kleuren[2] = "zwart"; $kleuren[3] = "groen"; for($i=0; $i<=3; $i++) { echo("$kleuren[$i]<br>"); } ?> |
Voorbeeld 2:
associatieve array |
<?php $kleuren=array("a"=>"rood" , "b"=>"groen", "c"=>"geel", "d"=>"zwart"); while(list($sleutel, $waarde) =each($kleuren)) { echo("sleutel: $sleutel , waarde: $waarde <br>"); } ?> |
Voorbeeld 3:
verschillende datatypen |
<?php $kleuren[0] = "rood"; $kleuren[1] = 10; $kleuren[2] = "zwart"; $kleuren[3] = 3.14; for($i=0; $i<=3; $i++) { echo("$kleuren[$i]<br>"); } ?> |
Voorbeeld 1: Object zonder
constructor |
<?php class Auto { // Een demoklasse die een auto voorstelt var $snelheid; var $versnelling = 0; function geefGas() { $this->snelheid += 10; if ($this->snelheid / 20 > $this->versnelling) { $this->versnelling++; } } } // demonstreer de werking van een Auto $myAuto = new Auto; $myAuto->geefGas(); $myAuto->geefGas(); echo "snelheid: $myAuto->snelheid<BR>"; echo "versnelling: $myAuto->versnelling<BR>"; ?> |
Voorbeeld 2: Overerving |
<?php // werknemer.php class Persoon { var $naam, $leeftijd; // constructor function Persoon($naam, $leeftijd) { $this->naam = $naam; $this->leeftijd = $leeftijd; } } $p = new Persoon('Hans', 25); echo "'$p->naam' is $p->leeftijd jaar.<BR>\n"; class Werknemer extends Persoon { var $salarisschaal; // constructor function Werknemer($naam, $leeftijd, $salarisschaal) { // aanroep constructor van de superklasse $this->Persoon($naam, $leeftijd); $this->salarisschaal = $salarisschaal; } } $w = new Werknemer('Pietro', 34, 10); echo "'$w->naam' is $w->leeftijd en zit in schaal $w->salarisschaal.<BR>\n"; ?> |
Voorbeeld
van verschillende variabele typen. |
<html> <head> <title>Gegevenstypen in PHP</title> </head> <body> <?php $is_logged_in = true; // type: boolean $is_in = false; // type: boolean $int_var = 10; // type: integer $double_var = 19.95; // type: double $string_var = "<h2>Hello World</h2>"; // type: string $arry_var[0] = "peter"; // type: array class Persoon // type: object { var $naam, $leeftijd; // constructor function Persoon($naam, $leeftijd) { $this->naam = $naam; $this->leeftijd = $leeftijd; } } $p = new Persoon('Hans', 25); print('De variabele $is_logged_in is van het type: ' . gettype($is_logged_in) . " en heeft de waarde: $is_logged_in <br>" ); print('De variabele $is_in is van het type: ' . gettype($is_in) . " en heeft de waarde: $is_in <br>" ); print('De variabele $int_var is van het type: ' . gettype($int_var) . " en heeft de waarde: $int_var <br>" ); print('De variabele $double_var is van het type: ' . gettype($double_var) . " en heeft de waarde: $double_var <br>" ); print('De variabele $string_var is van het type: ' . gettype($string_var) . " en heeft de waarde: $string_var <br>" ); print('De variabele $arry_var is van het type: ' . gettype($arry_var) . " en heeft de waarde: $arry_var <br>" ); print('De variabele $p is van het type: ' . gettype($p) . " en heeft de waarde: $p->naam <br>" ); echo "$p->naam is $p->leeftijd jaar.<BR>"; if(is_float($double_var)) { print("$double_var is een floating point variabele <br>"); } else { print("$double_var is geen floating point variabele <br>"); } ?> </body> </html> |
Traditioneel |
Notatie met
samengestelde operatoren |
$var = $var + 1; |
$var++; |
$var = $var - 1; | $var--; |
$var = $var + 10; | $var += 10; |
$var = $var - 10; | $var -= 10; |
$var = $var * 10; | $var *= 10; |
$var = $var / 10; | $var /= 10; |
$var = $var . "tien"; | $var .= 10; //voeg de
string "tien" toe aan $var |
$var1 = 10; $var2 = 10; $var3 = 10; |
// ken het getal 10 toe aan elke
variabele $var1 = $var2 = $var3 = 10; |
1. If
-else |
if
(conditie) { //statements_if_true; } else { //statements_if_false; } |
<html> <head> <title>Een onbedoeld if-statement</title> </head> <body> <?php $getal = 10; if ($getal = 20) { // bedoeld wordt: if($getal == 20){... echo "Het getal is 20"; } else { echo "Het getal is niet 20"; } ?> </body> |
2. switch |
switch($variabele) { case <constant1>: // statements; break; case <constant2>: // statements; break; default: // statements bij geen match; } |
<html> <head> <title>Het statement switch()</title> </head> <body> <?php $fruit = "appel"; switch($fruit) { case "banaan": echo "Uw favoriete fruit is een banaan"; break; case "peer": echo "Uw favoriete fruit is een peer"; break; case "appel": echo "Uw favoriete fruit is een appel"; break; default: echo "Uw favoriete fruit is onbekend"; } ?> </body> </html> |
3. while |
while
(conditie) { //statements; } |
<html> <head> <title>De while statement</title> </head> <body> <?php $i = 1; $getal = 10; echo "<pre>"; while ($i <= 10) { echo "$i \tmaal $getal = \t" . $i * $getal . "<br>"; $i++; } echo "</pre>"; ?> </body> </html> |
4. do-while |
do { //statements; } while(conditie) |
<html> <head> <title>De lus do-while()</title> </head> <body> <?php $i = 1; $getal = 10; do { echo "$i maal $getal = " . $i * $getal . "<br>"; $i++; }while ($i <= 10) ?> </body> </html> |
5. for
( ) |
for
($index;
conditie;
indexbewerking) { //statements; } |
ml> <head> <title>Een for()-lus</title> </head> <body> <?php $getal = 15; for($i=1; $i<=10; $i++) { echo "$i maal $getal = " . $i * $getal . "<br>"; } ?> </body> </html> |
require( ) |
bestand wordt altijd geïmporteerd ook al
wordt het nooit gebruikt |
include( ) |
bestand wordt alleen ingelezen indien de code ook
echt gebruikt wordt. |
<html> <head> <title>Een functie om de BTW te berekenen</title> </head> <body> <?php //initialisatie constanten define ("BTW_HOOG", 0.19); define ("BTW_LAAG", 0.06); function bereken_btw($bedrag, $tarief="H"){ if ($tarief == "L"){ return ($bedrag * BTW_LAAG); } elseif($tarief == "H"){ return ($bedrag * BTW_HOOG); } else{ return "onbekend" ; } } // initialisatie $bedrag = 25; $btw = bereken_btw($bedrag, "H"); $totaal = $bedrag + $btw; echo ("De btw over $bedrag euro bedraagt $btw euro (totaal: $totaal euro)"); ?> </body> </html> |
Boven in het script worden twee constanten gedefinieerd. Met define( ) kunt u een constante waarde koppelen aan een makkelijk te begrijpen omschrijving Klick hier voor een werkend voorbeeld. Let op: het echo commando mag met of zonder haakjes gebruikt worden. Dus: echo 'Dit is een echo' of echo('Dit is een echo') |
<html> <head> <title>Scope van variabelen</title> </head> <body> <?php // initialisatie: variabelen zichtbaar in globale scope $mijn_var1 = "Hello "; $mijn_var2 = "World!"; function doe_iets() { global $mijn_var1; // $mijn_var1 nu ook bruikbaar binnen functie echo $mijn_var1; // uitvoer: Hello echo $mijn_var2; // uitvoer: Notice: undefined variable... } echo $mijn_var1 . " " . $mijn_var2; // uitvoer: Hello World doe_iets() // functie-aanroep ?> </body> </html> |
Dit levert een mooie foutmelding op: Notice: Undefined variable: mijn_var2 in E:\Raymundo\PHP_en_MySQL\PHPscripts\scope1.php on line 16 Klick hier voor een werkend voorbeeld. |
<html> <head> <title>Scope van variabelen2</title> </head> <body> <?php // initialisatie: variabelen zichtbaar in globale scope $mijn_var1 = "Hello "; $mijn_var2 = "World!"; function doe_iets() { define("mijn_const", "Brave New "); global $mijn_var1; // $mijn_var1 nu ook bruikbaar binnen functie echo $mijn_var1; // uitvoer: Hello echo mijn_const; } doe_iets(); echo "\n\n\t " . $mijn_var1 . mijn_const . $mijn_var2; ?> </body> </html> |
De constante die met define gedefinieerd is, is ook buiten de functie bruikbaar! Maar let op: de escape characters \n en \t worden hier compleet genegeerd (omdat <pre> ontbreekt). Klick hier voor een werkend voorbeeld. |
<html> <head> <title>Scope van variabelen</title> </head> <body> <?php // initialisatie: variabelen zichtbaar in globale scope $mijn_var1 = "Hello "; $mijn_var2 = "World!"; function doe_iets() { define("mijn_const", "Brave New "); global $mijn_var1; // $mijn_var1 nu ook bruikbaar binnen functie echo $mijn_var1; // uitvoer: Hello echo mijn_const; } doe_iets(); echo '<pre>'; echo ("\n\t" . $mijn_var1 . mijn_const . $mijn_var2); echo '</pre>'; ?> </body> </html> |
Let op: als je gebruik wilt maken van escape characters zoals \n of \t dan moet je wel <pre> en </pre> gebruiken!! Klick hier voor een werkend voorbeeld. |
<html> <head> <title>Enkele string-functies</title> </head> <body> <?php /* * bij de heredoc-syntax kan een string over meerdere regels worden aangegeven * let op: identifier (EIND) moet als eerste en enige teken op een regel worden aangebracht. * dus ook geen spaties of tabs! */ $mijnstring = <<<EIND Voorbeeld van een string die over meerdere regels verspreid staat en gebruik maakt van de 'heredoc'-notatie. EIND; Echo $mijnstring. '<br>'; /* * escape tekens binnen een string: * \" - toont een dubbel aanhalingsteken * \' - toont een enkel aanhalingsteken * \& - toont een ampersand (&)teken * \$ - toont een dollar teken * \n - newline * \t - tab * \\ - toont backslash teken */ $mijnstring = "De backslash wordt ook wel het \"escapeteken\" genoemd"; $vreemde_tekens = "Dollar: \$ \t\tAmpersand: \&\n"; $path = "C:\\Windows\\System\\"; echo $mijnstring . '<br>'; echo $vreemde_tekens. '<br>'; echo $path. '<br>'; // voor \n en \t moeten we wel <pre> gebruiken echo '<pre>'; echo $vreemde_tekens; echo '</pre>'; /* * bij het vergelijken van string mag men gebruik maken van == maar dat kan wel eens tot * verassende resultaten lijden dus gebruik liever strcmp (), stcasecmp (), strstr (), stristr () of substr () */ if ('Hello World' == 0) { echo 'Hello World evalueert met == dus tot 0' . '<br>'; } else { echo 'Hello World evalueert met == dus NIET tot 0' . '<br>'; } if ('3 bier' == 0) { echo '3 bier evalueert met == dus tot 0' . '<br>'; } else { echo '3 bier evalueert met == dus NIET tot 0' . '<br>'; } /* * iets beter is het gebruik van de operator ===. * hierbij wordt ook gekeken of het gegevestypen aan elkaar gelijk zijn. */ if ('Hello World' === 0) { echo 'Hello World evalueert met === dus tot 0' . '<br>'; } else { echo 'Hello World evalueert met === dus NIET tot 0' . '<br>'; } /* * strcmp ($string1, $string2) * als $string1 < $string2 wordt <0 geretourneerd * als $string1 > $string2 wordt >0 geretourneerd * als $string1 = $string2 wordt 0 geretourneerd * * bij strcasecmp() wordt GEEN onderscheid gemaakt tussen hoofdletters en kleine letters */ echo 'Resultaten van strcmp' . '<br>'; echo strcmp("aardbeving" , "bananen") . '<br>' ; // resultaat: < 0 echo strcmp("aardbeving" , "Aardbeving") . '<br>'; // resultaat: > 0 echo strcmp("aardbeving" , "aardbeving") . '<br>'; // resultaat: 0 echo strcmp("1" , "bananen") . '<br>' ; // resultaat: < 0 // niet hoofdlettergevoelig echo 'Resultaten van strcasecmp' . '<br>'; echo strcasecmp("Bananen" , "bananen") . '<br>' ; // resultaat: 0 /* * Om te zoeken binnen een string maakt men gebruikt van strpos(string, gezochte_string) * Index nummer begint bij 0 (nul) * strstr() en stristr() zoeken ook naar een substring in een langere zin, maar geven niet de positie van de substring aan maar * retourneren de rest van de langere zin. */ $browser = $_SERVER['HTTP_USER_AGENT']; $zoekstring = 'MSIE'; if (strpos($browser, $zoekstring)) { echo "U gebruikt Internet Explorer" . '<br>'; $positie = strpos($browser, $zoekstring); echo "De string: $zoekstring is gevonden op positie: $positie" . '<br>'; echo strstr($browser, $zoekstring). '<br>'; } else { echo "U gebruikt een andere browser". '<br>'; } /* * Om een substring binnen een string te vervangen kunnen we replace () of substr_replace () aanroepen * */ $mijnstring = 'een, twee, drie, vier vijf'; $zoekstring = 'twee'; $vervangstring = 'zeven'; echo '<br> <br>' . str_replace($zoekstring, $vervangstring, $mijnstring) . '<br> <br>'; // uitvoer: een, zeven, drie, vier, vijf ?> </body> </html> |
<html> <head> <title>PHP - Array met database gegevens </title> </head> <body> <?php // een array met strings als index $db['host'] = 'localhost'; $db['user'] = 'root'; $db['password'] = 'geheim'; $db['port'] = '3306'; $db['db_name'] = 'php_app'; foreach($db as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } ?> </body> </html> |
<html> <head> <title>PHP - Array met huis gegevens </title> </head> <body> <?php // een array met integers als index $huis[1] = 'woonkamer'; $huis[2] = 'keuken'; $huis[3] = 'badkamer'; $huis[] = 'slaapkamer'; // index wordt automatisch 4 $huis[] = 'garage'; // index wordt automatisch 5 foreach($huis as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } // elementen uit een array verwijderen gaat met de functie unset unset($huis[2]); echo "<br>Nadat het tweede array element is verwijderd <br>"; foreach($huis as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } echo "<br>Nu laten we het systeem helemaal zelf tellen: <br>"; $tweede_array[] = 10; $tweede_array[] = 20; $tweede_array[] = 30; $tweede_array[] = 40; foreach($tweede_array as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } // elementen uit een array verwijderen gaat met de functie unset unset($tweede_array[1]); echo "<br>Nadat het tweede array element is verwijderd <br>"; foreach($tweede_array as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } echo "Eerste element van de array is nu: {$tweede_array[0]} <br>"; echo "Tweede element van de array is nu: {$tweede_array[1]}"; ?> </body> </html> |
<html> <head> <title>PHP - Functie Array() met huis gegevens </title> </head> <body> <?php // een array via de functie array() $huis = array( 1 =>'woonkamer', 2 =>'keuken', 3 =>'badkamer', 'slaapkamer1', 'garage' ); foreach($huis as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } // een array via de functie array(), maar nu zijn géén sleutels opgegeven // systeem begint dan automatisch te tellen vanaf 0 (nul) $huis = array('woonkamer', 'keuken', 'badkamer', 'slaapkamer', 'garage' ); echo "<br> <br>"; foreach($huis as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } ?> </body> </html> |
<html> <head> <title>PHP - Meer dimensionale Array</title> </head> <body> <?php // een array via de functie array() $rij1 = array(1 =>10, 2 =>20, 3 =>30 ); $rij2 = array(1 =>40, 2 =>50, 3 =>60 ); $rij3 = array(1 =>70, 2 =>80, 3 =>90 ); /* Dit geeft foutmeldingen:Undefined offset: 2 in meerdimensionale_array1.php on line 43 $matrix1 [1][1] = $rij1; $matrix1 [2][1] = $rij2; $matrix1 [3][1] = $rij3; */ $matrix1 [1] = $rij1; $matrix1 [2] = $rij2; $matrix1 [3] = $rij3; echo "{$matrix1[1][2]} <br>"; foreach($matrix1 as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>$waarde</strong> <br>"; } for($i = 1; $i <=3; $i++) { for($j = 1; $j <=3; $j++) { echo "{$matrix1[$i][$j]} "; // om de inhoud van een array aan te geven binnen een string moet { } gebruikt worden! } echo "<br>"; } // een meerdimensionale array via de functie array() $matrix2 = array(1=> $rij1, 2=> $rij2, 3=> $rij3); echo "<br> <br>"; foreach($matrix2 as $index => $waarde) { echo "Arrayindex: <strong>$index</strong>, waarde: <strong>{$waarde}</strong> <br>"; } for($i = 1; $i <=3; $i++) { for($j = 1; $j <=3; $j++) { echo "{$matrix1[$i][$j]} "; } echo "<br>"; } ?> </body> </html> |
<html> <head> <title>PHP - Var_dump van een Array</title> </head> <body> <h3>HTTP Server Vars</h3><table> <table border=1> <?php //server vars.php // foreach ($HTTP_SERVER_VARS as $sleutel => $var) foreach ($_SERVER as $sleutel => $var) { echo "<tr>"; echo "<td>$sleutel</td>"; echo "<td>$var</td>"; echo "</tr>"; } echo '<pre>'; var_dump($_SERVER); echo '</pre>'; ?> </table> </body> </html> |
Keyword |
Waarde |
Effect |
error_reporting | E_ALL |
Toon alle foutmeldingen |
E_ERROR |
Toon allleen errors |
|
E_WARNING |
Toon waarschuwingen |
|
E_STRICT |
Waarschuw bij niet-gedefinieerde
variabelen en andere tips om uw code te optimaliseren |
![]() |
Deze is op te starten via de icon-tray: |
# The following options will be passed
to all MySQL clients [client] #password = your_password port = 3306 socket = /tmp/mysql.sock # Here follows entries for some specific programs # The MySQL server [wampmysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer = 16M max_allowed_packet = 1M table_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M basedir=D:/wamp/bin/mysql/mysql5.1.36 log-error=D:/wamp/logs/mysql.log # # Veranderd door Raymundo # # datadir=D:/wamp/bin/mysql/mysql5.1.36/data datadir=E:/Raymundo/PHP_en_MySQL/Databases . . . . |
Hier kan dus ook een password aangepast/'ge-set' worden, maar ik heb geen flauw idee waar deze voor gebruikt wordt. Root en gebruiker password kan beter via phpMyAdmin in de database mysql worden aangebracht/gewijzigd (tabel user). Verander de variabele datadir naar de gewenste locatie. Let op de forward / i.p.v. de bachward \ |
Enkele
tabellen in de systeem database van MySQL. Eén daarvan is user,
hierin wordt de rootpassword aangebracht! |
![]() |
De tabel user in de systeem database van MySQL |
![]() |
Zoals hier boven te zien is
staan default root op localhost en root op 127.0.0.1 beide zonder
password! Via de knop wijzig ( ![]() |
![]() |
Vergeet
hierbij niet om in kolom Functie te kiezen voor 'password'; hiermee
geeft u opdracht het password te vercijferen. |
![]() Zo is user raho aangemaakt (piet!) |
![]() |
D:\wamp\bin\mysql\mysql5.1.36\bin>mysqladmin -u root password raho_MySQL |
![]() |
Het bestand config.inc.php is te
vinden in de directory: D:\wamp\apps\phpmyadmin3.2.0.1 |
|
<?php /* Servers configuration */ $i = 0; /* Server: localhost [1] */ $i++; $cfg['Servers'][$i]['verbose'] = 'localhost'; $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['port'] = ''; $cfg['Servers'][$i]['socket'] = ''; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['extension'] = 'mysqli'; $cfg['Servers'][$i]['auth_type'] = 'HTTP'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; $cfg['Servers'][$i]['AllowNoPassword'] = true; /* End of servers configuration */ $cfg['DefaultLang'] = 'en-utf-8'; $cfg['ServerDefault'] = 1; $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; ?> |
Hier kiezen we al authentication type: HTTP ; dit zorgt ervoor dat phpMyAdmin niet zomaar opgestart kan worden Let op: dit bestand is duidelijk in Unix formaat dus niet editen met Notepad, gebruik bijv. PFE 32 of Notepad++ |
CREATE TABLE tabelnaam |
Maak een tabel binnen de
database die met USE is geselecteerd |
DESCRIBE tabelnaam |
Geef een overzicht van de
structuur (veldnamen en typen) van de aangegeven tabel |
SHOW DATABASES |
Laat zien welke databases op de
MySQL-server aanwezig zijn |
SHOW TABLES |
Laata zien welke tabellen in de
huidige actieve database aanwezig zijn |
DROP TABLE tabelnaam | Verwijder de aangegeven tabel. Let op: weg = pech |
DROP DATABASE dbnaam |
Verwijder de aangegeven
database!! |
Start phpMyAdmin |
![]() |
Activeer de tab SQL en toets de
SQL commando's in. Let op de backslach quotes. |
![]() |
Als alles goed gegaan is, is de
net aangemaakte database in de linkerrij zichtbaar. |
![]() |
Let op: Het is noodzakelijk dat eerst de gewenste database in het linker venster geselecteerd wordt!! DROP TABLE IF EXISTS `medewerkers`; CREATE TABLE `medewerkers` ( `med_id` int(10) unsigned NOT NULL auto_increment, `med_voornaam` varchar(45) NOT NULL default '', `med_achternaam` varchar(45) NOT NULL default '', `med_email` varchar(45) default NULL, `med_geboren` date NOT NULL default '0000-00-00', `med_afdeling` tinyint(3) unsigned NOT NULL default '1', PRIMARY KEY (`med_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
![]() |
Als alles goed gegaan is geeft phpMyAdmin een melding zoals hiernaast te zien is. Het engine-type InniDB is een speciaal tabeltype waarmee het mogelijk wordt een transactiegebaseerde database te maken.. Bij een transactie worden meerdere opdrachten ale één groep uitgevoerd. Bijv: bij het bestellen van kaarten
Let wel: tabeltype MyISAM is nog steeds beschikbaar, maar kan niet gebruikt worden voor transacties! |
![]() ![]() |
Als voorbeeld van een SELECT commando: SELECT * FROM afdeling |
![]() |
SELECT med_voornaam,
med_achternaam,
med_afdeling FROM medewerkers WHERE med_afdeling = '1' ; De opdracht LIMIT wordt automatisch door phpMyAdmin toegevoegd. LIMIT a, b: toon b records beginnend bij record a+1 ( de eerste a records worden dus niet getoond!) Een willekeurige record selecteren kan met de rand functie in combinatie met LIMIT 1: SELECT med_id, med_voornaam, med_achternaam FROM medewerkers ORDER BY RAND ( ) LI.MIT 1; |
![]() |
Let op CONCATENATIE werkt in MySQL anders dan verwacht: NIET met || maar met de functie CONCAT Bij Alias mag keyword AS gebruikt worden, dit is echter niet verplicht. |
![]() |
int |
Een geheel getal van 4 bytes |
tinyint |
Een geheel getal van 1 byte |
varchar |
Een string van variabele lente
met maximaal 255 tekens. |
text |
Een string van variabele lengte
van maximaal 65.535 tekens |
date |
Een datum in het formaat
jjjj-mm-dd |
datetime |
Een datum waarbinnen ook
tijdinformatie is opgeslagen. Het formaat is dan jjjj-mm-dd hh:mm:ss |
![]() |
<html> <head> <title>Verbinding maken met MySQL</title> </head> <body> <?php // initialisatie $host = 'localhost'; $gebruiker = 'root'; $wachtwoord = ''; $database = 'Ray1'; $query = 'SELECT * FROM medewerkers'; // stap 1) verbinding tot stand brengen if ($db = mysqli_connect($host, $gebruiker, $wachtwoord)) { echo "Stap 1) De verbinding met MySQL - $host is geslaagd."; echo "Ingelogd als: $gebruiker<br />"; } else { echo "FOUT: De verbinding met MySQL kan niet tot stand worden gebracht"; exit; } // stap 2) controleren of de database geopend kan worden if (mysqli_select_db($db, $database)) { echo "Stap 2) Database geselecteerd: $database<br />"; } else { echo "FOUT: De database $database kon niet worden geopend"; exit; } // stap 3) de query uitvoeren if ($result = mysqli_query($db, $query)) { echo "Stap 3) De query \"$query\" is met succes uitgevoerd <br />"; } else { echo "FOUT: er is een fout opgetreden bij het uitvoeren van de query $query"; exit; } // stap 4) de resultaten naar het scherm schrijven echo "<h2>Stap 4) inhoud:</h2>"; while ($rij = mysqli_fetch_array($result)) { echo "medewerker {$rij['med_id']} : {$rij['med_voornaam']} {$rij['med_achternaam']} <br />"; } // stap 5) verbinding met de database sluiten if(mysqli_close($db)) { echo "<br />Stap 5) verbinding met database gesloten"; } else { echo "FOUT: de verbinding met de database kon niet worden gesloten"; exit; } ?> </body> </html> |
Stap 1) De verbinding met MySQL
- localhost is geslaagd.Ingelogd als: root Stap 2) Database geselecteerd: Ray1 FOUT: er is een fout opgetreden bij het uitvoeren van de query SELECT * FROM medewerkers ![]() |