÷ƒ’À;è TeX output 2003.04.04:1538‹ÿÿÿÿ Û_2 ý ~? ÕÁ ý[¡óþÖëI½q½qecss2074»PHP–fÑ/“MySQL“HO‘ÿwmWTOŽ¤ ®„ØcÕÁGŽŽ¡ó 1ê± ecrm1000¹Auteur:‘q€Hans–U W‘ÿ*¸olters,“hans@lin¸èux.gelrevision.nl’ª›v1.03,“6“maart“2000Ž¡Ÿ&°óŒ6 ecss1000¼Deze–U hoš¸èwto“geeft“uitleg“over“de“installatie“en“het“geb˜ruik“van“PHP4,“samen“met“MySQL.ŽŸ(Àœó&Lt$ffffecbx1440¾1Ž‘ÁOvšcer–G\deze“F‘þ=‹A˜QŽŸèó¥!¢N ecbx1200À1.1Ž‘¾Historie.Ž©Mª¹Deze–a•F‘þã Aš¸èQ‘aWis“on˜tstaan“naar“aanleiding“v‘ÿqÐan“de“v˜ele“vragen“die“regelmatig“in“de“nieu˜wsgroGep“ó½HЃ ecti1000Ánl.internet.ontwerpŽ¡¹wš¸èorden–¥ëgesteld.‘câZoGdra“de“F‘þã A˜Q‘¥×v‘ÿqÐan“Kristian“K˜oGehn˜topp“ÁKristian‘ÞKo‘ÿ}/ehntopp“¹ošGok“aan“de“Op˜en“PublicationŽ¡License–ùÌvš¸èoldoGet“zal“er“een“samen˜w˜erking“v˜olgen“w˜aarbij“v˜ošGoral“mo˜et“wš¸èorden“gedac˜h˜t“aan“het“uit˜wisselen“v‘ÿqÐanŽ¡tips,–U nieu¸èwtjes,“etc.ŽŸ#ÃÀ1.2Ž‘¾Cop• yrigh“t.Ž¦¹Deze–ãat˜k‘ÿ\|an˜het?’#á`¹2ŽŽ ÕÁ ýV¯¾2Ž‘ÁPHP–þ®(.›G\W“at˜is˜het,˜wcat˜k‘ÿÆan˜het?ŽŸèÀ2.1Ž‘¾W›þàat–¸is“PHP˜.Ž©Mª¹PHP‘¿is–¿,een“servš¸èer“side“script“taal“dat“op“allerlei“manieren“k‘ÿqÐan“w˜orden“ingezet.‘¯£Het“is“v˜oGor“de“gemiddeldeŽ¤ ®p•Gerso“on–4;vrij“snel“op“te“pikkš¸èen.‘f‰Mensen“die“al“enige/v˜eel“programmeer/scripting“erv‘ÿqÐaring“hebbGen“zullen“zeerŽ¡snel–U in“staat“zijn“om“een“wš¸èebapplicatie“er“mee“te“mak˜en.‘q€PHP“is“oGok“als“CGI“parser“in“te“zetten.ŽŸ#ÃÀ2.2Ž‘¾W‘þàaar–¸k‘ÿ@ an“je“PHP“vš o_úor“gebruik˜en.Ž¦¹PHP‘õis–õÆvš¸èoGor“v˜ele“doGeleinden“gesc˜hikt.‘SrHet“bGeste“k˜om˜t“het“tot“zijn“rec˜h˜t“als“je“het“inzet“v˜oGor“ÁdynamischeŽ¡¹wš¸èebsites.‘q€Hierbij–U k‘ÿqÐan“je“denk˜en“aan:Ž©ؼ‘¸ŽŽŽ‘¹Gastenš¸èb•Go“ek˜en.Ž¤®‘¸ŽŽŽ‘¹F‘ÿ*¸orums.Ž¡‘¸ŽŽŽ‘¹F‘ÿ*¸ron•¸ètends›U v“o•Gor˜zo“ekmac¸èhines.Ž¡‘¸ŽŽŽ‘¹W‘ÿ*¸ebshops.Ž¦Eigenlijk–Š9is“dit“maar“een“kleine“greep“v‘ÿqÐan“wš¸èat“er“mogelijk“is.‘ÌDe“grote“krac˜h˜t“v‘ÿqÐan“PHP‘Š,is“eigenlijk“het“feitŽ¤ ®dat–U je“suppšGort“k‘ÿqÐan“meecompileren“v¸èo˜or“een“gro˜ot“aanš¸ètal“database(serv˜ers).ŽŸ#ÃÀ2.3Ž‘¾W‘þàaar–¸k‘ÿ@ an“je“h ulp“krijgen?Ž©Mª¹Het–þ£is“de“b•Gedo“eling–þ£dat“deze“F‘þã A¸èQ‘þwzal“uitgrošGeien“tot“een“do˜cumenš¸èt“w˜aarin“je“v˜eel“an˜t˜w˜oGorden“zal“kunnenŽ¡terugvinden.‘I7Naast–ÜCdeze“F‘þã Aš¸èQ‘Ü%zijn“er“een“aan˜tal“plekk˜en“op“het“in˜ternet“w˜aar“je“informatie“k‘ÿqÐan“terug“vinden.ŽŸ ÖÂ2.3.1Ž‘#!\WWWŽ¦¹Engelstalige‘U w¸èebsites.ŽŸؼ‘¸ŽŽŽ‘Áhttp://www.php.netŽ¤®‘¸ŽŽŽ‘Áhttp://www.zend.or‘ÿ}/gŽ¡‘¸ŽŽŽ‘Áhttp://www.phpbuilder.c‘ÿ}/om/Ž¡‘¸ŽŽŽ‘Áhttp://www.web–ÿ}/er“dev.c“omŽ¡‘¸ŽŽŽ‘Áhttp://www.phpwizar‘ÿ}/d.netŽ¡‘¸ŽŽŽ‘Áhttp://www.devshe–ÿ}/d.c“om/Server_Side/PHP/Ž¡‘¸ŽŽŽ‘Áhttp://px.sklar.c‘ÿ}/omŽŸ ÖÂ2.3.2Ž‘#!\Online–Õhandleidingen“PHP‘ÿ º.ŽŸ#‘¸ŽŽŽ‘Áhttp://www.zend.or‘ÿ}/g/manual/Ž¡‘¸ŽŽŽ‘Áhttp://www.php.net/manual/ŽŽŽŒ‹¢ Û_2 ý ~?Ÿ„€ÕÁGŽÂ3.‘ñ8De–Õinstallatie“v‘ÿ\|an“PHP’JR¹3ŽŽ ÕÁ ýV¯Â2.3.3Ž‘#!\Do®>wnloaden–Õoine“handleidingen“PHP‘ÿ º.ŽŸ#‘¸ŽŽŽ‘Áhttp://www.php.net/do‘ÿ}/cs.php3Ž© ÖÂ2.3.4Ž‘#!\Usenet.ŽŸMª¹Naast–*3de“hierbšGo•¸èv“en–*3geno˜emde“w¸èebsites“k‘ÿqÐan“je“o˜ok“terec•¸èh“t–*3op“usenet.‘c1Op“usenet“is“er“op“dit“ogen¸èblik“maar“1Ž¤ ®nieu•¸èwsgroGep›ª‘w“aar˜je˜terec“h“t˜k‘ÿqÐan˜met˜je˜vragen.‘8¦Het˜is˜de˜Duitstalige˜nieu“wsgroGep˜Ánews://de.c‘ÿ}/omp.lang.php/¹.Ž¡De–U mensen“bšGean•¸èt“w“o˜orden–U niet“alleen“Duitstalige“vragen.ŽŸؼNaast–dödie“Duitstalige“nieu¸èwsgrošGep“k‘ÿqÐan“je“met“je“vragen“o˜ok“terec•¸èh“t–döbij“de“Nederlandstalige“nieu¸èwsgro˜epŽ¡Ánews://nl.internet.ontwerp¹.Ž¦Â2.3.5Ž‘#!\Irc.Ž©Mª¹Er–„is“een“Engelstalig“php“k‘ÿqÐanaal“op“irc“(#php)“maar“daar“is“een“ban“op“alle“mensen“gezet“die“uit“NederlandŽ¡kš¸èomen.‘^5Zelf–>is“het“me“niet“gelukt“om“met“de“opGeraters“in“con˜tact“te“treden“en“te“vragen“w˜at“er“aan“de“handŽ¡is.ŽŸ(Àœ¾3Ž‘ÁDe–G\installatie“v‘ÿÆan“PHPŽŸèÀ3.1Ž‘¾V‘þào•_úorw o“ord.Ž¦¹Bij–ðIhet“samenstellen“v›ÿqÐan“de“F‘þã A¸èQ‘ð/bGen“ik“uitgegaan“v˜an“PHP4.0“(Beta4).‘OãDit“aangezien“de“v•¸èerw“ac“h“ting–ðIis“datŽ¡PHP4–U binnenkš¸èort“o˜v˜eral“in“gebruik“zal“w˜orden“genomen.ŽŸ#ÃÀ3.2Ž‘¾Do wnloaden.Ž¦¹Op–²dit“momenš¸èt“staat“PHP4“nog“niet“op“een“mirror“in“Nederland.‘­7Je“k‘ÿqÐan“de“nieu˜wste“v˜ersie“do˜wnloadenŽ¡v‘ÿqÐanaf.ŽŸؼÁhttp://www.php.net/version4/downlo‘ÿ}/ads.phpŽŸ#ÃÀ3.3Ž‘¾Installatie.Ž¦¹V‘ÿ*¸ošGor–U het“installeren“v‘ÿqÐan“PHP4.0“b˜en“ik“uitgegaan“v‘ÿqÐan“de“v¸èolgende“conguratie.Ž¤ؼ‘¸ŽŽŽ‘¹Apac¸èhe‘U 1.3.9ŽŸ®‘¸ŽŽŽ‘¹mš¸èysql–U V‘ÿ*¸er“9.33“Distrib“3.23.1-alpha,“for“pGc-lin˜ux-gn˜u“(i686)Ž¡Deze–á-conguratie“heb“ik“op“een“Red“Hat“6.0“distributie“draaien“maar“dit“mag“op“zicš¸èh“niets“uitmak˜en.‘JÚMoGc˜h˜tŽ¤ ®je–'8MySQL‘'-en“Apacš¸èhe“via“een“pac˜k‘ÿqÐage“system“zoals“rpm“hebbGen“ge€ïnstalleerd“zorg“er“dan“v˜ošGor“dat“je“o˜ok“deŽ¡dev•¸èelopmen“t›U pac“k‘ÿqÐages˜laat˜installeren.ŽŸ ÖÂ3.3.1Ž‘#!\Uitpakk®>en–Õv‘ÿ\|an“de“source“coQÂde.Ž¦¹Zorg–¬®dat“je“een“directory“hebt“wš¸èaar“je“php“k‘ÿqÐan“compileren“en“pak“de“source“uit“op“de“v˜olgende“manier“enŽ¡ga–U naar“de“directory“die“is“aangemaakt:ŽŽŽŒ‹' Û_2 ý ~?Ÿ„€ÕÁGŽÂ4.‘ñ8PHP–Õen“MySQL.’h¸¹4ŽŽ ÕÁ ýV¯‰ffÕÁG© ?œ‘óqLË ectt0900Ä$tar–¹N-zxf“php*.tar.gzŽŸ Š=‘$cd‘¹Nphp-4.0b4pl1ŽŸfF‰ffÕÁGŸ ȹConš¸ètroleer–5±of“ap˜xs“op“je“mac˜hine“aan˜w˜ezig“is.‘gDit“k‘ÿqÐan“met“loGcate“dan˜w˜el“whereis.‘gDeze“lošGcatie“heb“je“no˜digŽ¤ ®om–U als“parameter“mee“te“gev¸èen“aan“het“congure“script.ŽŸؼAan–= congure“script“k›ÿqÐan“je“een“heleb•Go“el–= opties“mee“gev¸èen.‘izDeze“opties“k˜an“je“bšGekijk¸èen“do˜or“het“v¸èolgende“inŽ¡te‘U t¸èypGen:ŽŸ ‚¶‰ffÕÁG¦‘Ä$–¹N./configure“--help“|“lessŽŸfF‰ffÕÁGŸª0¹Om–ðùPHP‘ðßte“installeren“met“de“opties“die“wij“nošGdig“hebb˜en“(MySQL)‘ðßheb“je“in“ieder“gev‘ÿqÐal“de“v¸èolgende“optiesŽ¡noGdig:Ž¤ ‚¶‰ffÕÁG¦‘Ä$–¹N./configure“--with-apxs=/path/apxs“--with-mysql“--enable-track-varsŽŸ Š=‘--enable-trans-idŽžff‰ffÕÁGŸ ȹAls–U het“script“klaar“is“is“het“tijd“om“de“moGdule“te“mak¸èen:Ž¡‰ffÕÁG¦‘Ä$‘¹NmakeŽŸ&Z‰ffÕÁGŸ ȹHierna–U mošGet“je“als“ro˜ot“de“mo˜dule“installeren:Ž¡‰ffÕÁG¦‘Ä$‘¹NsuŽ¤ Š=‘(Geef–¹Nje“wachtwoord“op)Ž¡‘#–¹Nmake“installŽžff‰ffÕÁG¤ ȹHet–Q±script“heeft“als“het“gošGed“is“alle“opties“in“de“conguratie“b˜estanden“v‘ÿqÐan“Apac¸èhe“aangepast“en“de“php.iniŽŸ ®op–U de“juiste“plek“gezet.‘q€Maak“een“bGestandje“aan“wš¸èaarin“je“de“v˜olgende“coGde“zet:ŽŸ ‚¶‰ffÕÁG¦‘ÄŽŸfF‰ffÕÁG¡¹Plaats–Ñ,dit“bšGestand“in“de“ro˜ot“v‘ÿqÐan“de“apacš¸èhe“serv˜er“en“roGep“het“op“via“de“bro˜wser.‘å£Let“op“dat“PHP4.0“deŽ¤ ®bšGestanden–oÚziet“met“een“extensie“Á.php‘¡Ž¹.‘Á®Als“alles“go˜ed“is“gegaan“dan“zie“je“een“informatie“scš¸èherm“w˜aarin“alleŽ¡opties–U v‘ÿqÐan“PHP“zic•¸èh“tbaar‘U w“orden.ŽŸ#ÃÀ3.4Ž‘¾Install‘¸help_úers.Ž©Mª¹Op›ÎÁhttp://pr–ÿ}/ometheus.zer“o“divide.net/ap“ache_kit/ab“out/˜¹k‘ÿqÐan˜je˜een˜Apac•¸èhe˜Compile˜Kit˜do“wnloaden˜die˜hetŽ¡zw•¸èare›økw“erk˜v“o•Gor˜je˜do“et.–[aOp˜dit˜momen¸èt˜heb˜ik˜er˜nog˜geen˜erv‘ÿqÐaring˜mee˜opgedaan.“V‘ÿ*¸olgens˜de˜w¸èebsiteŽ¡wš¸èerkt–U het“i.i.g.‘q€met“Apac˜he“1.3.12“en“PHP3/4“(t/m“Beta3).ŽŸؼTip–U v‘ÿqÐan“Alfred“Munnik¸èes.ŽŸ(Àœ¾4Ž‘ÁPHP–G\en“MySQL.ŽŸèÀ4.1Ž‘¾W‘þàat–¸is“MySQL.Ž¦¹MySQL›zis–«een“Clien•¸èt/Serv“er–«SQL˜database“servš¸èer.‘§ Het“is“v˜oGornamelijk“geric˜h˜t“op“snelheid.‘§ V‘ÿ*¸eel“mensenŽ¡makš¸èen–Z˜de“v˜ergissing“dat“je“alleen“kleine“databases“k‘ÿqÐan“gebruik˜en“met“MySQL.“Dit“is“ec˜h˜ter“afhank˜elijk“v‘ÿqÐanŽ¡andere–U factoren“(mogelijkheden“v¸èoGor“transakties,“e.d.).ŽŸؼZelf–U heb“ik“tot“vš¸èolle“tevredenheid“gew˜erkt“met“aanzienlijk˜e“databases“(600.000“records).ŽŽŽŒ‹c Û_2 ý ~?Ÿ„€ÕÁGŽÂ4.‘ñ8PHP–Õen“MySQL.’h¸¹5ŽŽ ÕÁ ýV¯À4.2Ž‘¾W‘þàaar–¸k‘ÿ@ an“ik“meer“leren“o• v“er‘¸SQL.ŽŸ!’‘¸ŽŽŽ‘Áhttp://www.mysql.or‘ÿ}/g/Manual_chapter/manual_T–ÿ;Èutorial.html#T“utorialŽ©«4‘¸ŽŽŽ‘Áhttp://www.self-evident.c‘ÿ}/om/sql/index.htmŽŸ#†À4.3Ž‘¾Ho•_úe›¸b“enader˜je˜een˜MySQL˜database˜v‘ÿ@ an uit˜PHP‘þà.ŽŸMª¹V‘ÿ*¸ošGor–Áyhet“b˜enaderen“v‘ÿqÐan“een“MySQL‘Á]servš¸èer“zijn“er“t˜w˜ee“mogelijkheden.‘¶ŒJe“k‘ÿqÐan“een“default“serv˜er“opgev˜enŽ¤ ®in–ÍQje“Áphp.ini‘Ò¹en“je“k›ÿqÐan“het“rec•¸èh“tstreeks‘ÍQv˜an“uit–ÍQde“cošGde“regelen.‘ÚDie“eerste“optie“heeft“als“gro˜ot“nadeel“datŽ¡mensen–z¦die“php“scripts“op“dezelfde“servš¸èer“kunnen“draaien“zeer“snel“het“w˜ac˜h˜t˜w˜oGord“uit“de“conguratie“kunnenŽ¡ophalen.ŽŸؼOm–U conš¸ètact“te“leggen“naar“een“MySQL“serv˜er“heb“je“de“v˜olgende“drie“gegev˜ens“noGdig:Ž¤ÑŒ‘¸ŽŽŽ‘¹De‘U hostnaam.Ž¦‘¸ŽŽŽ‘¹De‘U gebruik¸èersnaam.Ž¦‘¸ŽŽŽ‘¹Het‘U w•¸èac“h“t“w“oGord.Ž¡De–U functie“om“de“connectie“op“te“bGou•¸èw“en–U is“Ámysql-c–ÿ}/onne“ct¹:ŽŸ |ö‰ffÕÁG© >,‘Ämysql_connect("servernaam","user","wachtwoord");ŽŸfF‰ffÕÁGŸ˜¹Als–5per“een“connectie“naar“de“database“servš¸èer“tot“stand“is“gebrac˜h˜t“moGet“je“de“database“selecteren“die“je“wiltŽ¤ ®gebruik•¸èen.›GÍDaarv“oGor–Øgebruik“je“de“Ámysql-sele‘ÿ}/ct-db“¹functie.˜Ook“con¸ètroleer“je“of“het“is“gelukt“om“die“databaseŽ¡te‘U selecteren:ŽŸ ‹N‰ffÕÁG¦‘Ämysql_select_db("databasenaam")–¹Nor“die“("Verdorie,“kan“de“databaseŽ© Š=‘niet‘¹Nopenen");ŽŸfF‰ffÕÁGŸnÈÀ4.4Ž‘¾Hoš_úe–¸zie“je“w• elk“e–¸tab˜ellen“er“op“een“MySQL“serv er“staan?.ŽŸMª¹Afhankš¸èelijk–Øýv‘ÿqÐan“de“rec˜h˜ten“die“de“gebruik˜er“heeft“k‘ÿqÐan“hij/zij“tošGegang“hebb˜en“tot“meerdere“tab˜ellen.‘ýDezeŽ¡tabGellen–U zijn“op“te“vragen“met“de“Ámysql-list-tables“¹functie:ŽŸ |ö‰ffÕÁGŸ ~8‘Ä";Ž¤ Š=‘+å:$i++;Ž¡‘}Ž¡‘?>Žžff‰ffÕÁGŸpÀ4.5Ž‘¾Ho_úe–¸kijk“je“w• elk“e›¸v“elden˜er˜in˜een˜tab_úel˜staan?ŽŸMª¹Elkš¸èe–òÒMySQL‘ò¹tabGel“zal“v˜ersc˜hillende“v˜elden“bGev‘ÿqÐatten.‘P¼Om“deze“v˜elden“op“te“halen“pas“je“de“de“v˜olgende“coGdeŽŸ ®toGe:ŽŸ ‘‰ffÕÁGŸ ?œ‘Ä/*Ž¡‘Connectie‘¹Nopzetten.Ž¡‘*/Ž¡‘mysql_connect(–¹N"server",“"inlognaam",“"wachtwoord");Ž¡¡‘/*Ž¡‘Geef–¹Nde“database“en“de“tabelnaam“op“bij“de“functie“mysql-list-fieldsŽ¡‘*/Ž¡‘$fields–¹N=“mysql_listfields(“"database",“"tabel");Ž¡¡‘/*Ž¡‘Kijk–¹Nhoeveel“velden“er“totaal“zijn“en“zet“de“teller“$i“op“0.Ž¡‘*/Ž¡‘$field_num–¹N=“mysql_num_fields($fields);Ž¡‘$i=0;Ž¡¡‘/*Ž¡‘Toon–¹Nhet“totaal“aantal“velden“($field_num)“in“de“browser.Ž¡‘*/Ž¡‘echo–¹N$field_num“.‘ rœ"“veld(en)“gevonden
\n";Ž¡¡‘/*Ž¡‘Zet–¹Neen“html“tabel“op“en“toon“de“veldtypes,“veldnamen“enŽ¡‘de–¹Nveldlengte“van“die“velden“in“een“loop.Ž¡‘*/Ž¡‘echo‘ rœ"";Ž¡‘echoŽ¡‘"NaamVeldTypeLengteVlag";Ž¡‘while–¹N($i“<“$field_num){Ž¡¡‘>Êr$type– rœ=›¹Nmysql_field_type“($fields,˜$i);Ž¡‘>Êr$name– rœ=›¹Nmysql_field_name“($fields,˜$i);Ž¡‘>Êr$len–+ê=›¹Nmysql_field_len“($fields,˜$i);Ž¡‘>Êr$flags–¹N=“mysql_field_flags“($fields,“$i);Ž¡¡‘+å:echo‘ rœ"";Ž¡‘+å:echo–¹N$name.“"".$type.Ž¡‘"".$len.‘¹N"".$flags.Ž¡‘"";Ž¡‘+å:$i++;Ž¡‘}Ž¡‘echo‘ rœ"";ŽŸ¦R‰ffÕÁGŽŽŒ‹-b Û_2 ý ~?Ÿ„€ÕÁGŽÂ4.‘ñ8PHP–Õen“MySQL.’h¸¹7ŽŽ ÕÁ ýV¯À4.6Ž‘¾Ho_úe–¸maak“je“bacš kslashes“onzic˜h˜tbaar“in“data?Ž©Mª¹Als–#je“via“een“hš¸ètml“form“gegev˜ens“laat“in˜v˜ošGeren“in“de“database“k‘ÿqÐan“het“geb˜euren“dat“mensen“gebruik“mak¸èenŽ¤ ®v‘ÿqÐan–ŽÑ(o.a.)›”single“en“double“quotes.˜Als“je“geen“gebruik“maakt“v‘ÿqÐan“de“functie“Ástripslashes()‘í_¹bij“het“uitlezenŽ¡v›ÿqÐan–U die“data“krijg“je“v¸èoGor“iedere“quote“een“¸n¹'“te“zien“in“plaats“v˜an“het“normale“quote“tek¸èen.ŽŸ#ÃÀ4.7Ž‘¾Kan–¸je“binaire“data“opslaan“in“MySQL?Ž¦¹Het–)is“mogelijk“om“(b.v.)›I›plaatjes“op“te“slaan“in“MySQL.“Of“het“slim“is“is“een“andere“vraag.˜V‘ÿ*¸eel“bGeter“isŽ¡het–¿ãom“de“plaatjes“een“logiscš¸èhe“bGenaming“te“gev˜en“(prošGduct_id)“en“een“kleine“functie“in“je“co˜de“te“zettenŽ¡die–t kijkt“of“een“bšGepaald“plaatje“in“een“b˜epaalde“directory“aan•¸èw“ezig–t is.‘ÎÊr/*Ž¡‘>ÊrZet–¹Neen“connectie“naar“de“database“op“en“voer“de“gewensteŽ¡‘>Êrquery–¹Nuit.Je“kan“dan“een“variabele“aanmaken“($product_id)Ž¡‘>Êrwaarin–¹Nje“het“gewenste“recordnr“van“het“product“dumpt.“DaarnaŽ¡‘>Êrvoer–¹Nje“de“volgende“check“uit.Ž¡‘>Êr*/Ž¡¡‘>Êrif‘¹N(file_exists("/path/$product_id.jpg")){Ž¡‘d”âecho–¹N";Ž¡‘>Êr}Ž¡‘?>Žžff‰ffÕÁGŸpÀ4.8Ž‘¾Hoš_úe–¸k‘ÿ@ an“je“X“records“p˜er“pagina“tonen?Ž¦¹Hierv¸èo•Gor›U mo“et˜je˜de˜limit˜functie˜gebruik¸èen.‘q€V‘ÿ*¸o“orb“eeld:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄÊr/*Ž¡‘>ÊrConnectie–¹Nis“al“gemaakt.“Via“de“parameter“$start“weten“we“opŽ¡‘>Êrwelke–¹Nplek“in“de“resultset“we“de“limit“moeten“laten“starten,“alsŽ¡‘>Êr$start–¹Nleeg“is“weten“we“dat“we“op“0“moeten“beginnen.“$view“is“hetŽ¡‘>Êrtotaal–¹Naantal“records“dat“we“willen“tonenŽ¡‘>Êr*/Ž¡¡‘>Êr$view–¹N=“5;Ž¡¡‘>Êr$query–¹N=“"SELECT“*“FROM“tabela“WHERE“conditie“=“'blauw'";Ž¡‘>Êr$result–¹N=“mysql("database",“$query);Ž¡¡‘>Êr/*Ž¡‘>ÊrOm–¹Nte“weten“hoeveel“records“er“in“de“resultset“zitten“vragenŽ¡‘>Êrwe–¹Neerst“het“aantal“rijen“op.Ž¡‘>Êr*/Ž¡‘>Êr$total–¹N=“mysql_num_rows($result);Ž¡¡‘>Êr/*ŽŽŽŒ‹4 Û_2 ý ~?Ÿ„€ÕÁGŽÂ4.‘ñ8PHP–Õen“MySQL.’h¸¹8ŽŽ ÕÁ ýV¯‘>ÊrÄWe–¹Nweten“nu“dat“er“bijvoorbeeld“45“records“in“zitten.“We“vullenŽ¤ Š=‘>Êrdan–¹Nde“query“aan“met“de“limitfunctie“zodat“we“de“volgende“XŽ¡‘>Êrrecords–¹Nkunnen“opvragen.Ž¡‘>Êr*/Ž¡‘>Êr$query–¹N.=“"“limit“$start,“$view";Ž¡¡‘>Êr/*Ž¡‘>ÊrWe–¹Nrunnen“de“query“nog“een“keer.Ž¡‘>Êr*/Ž¡‘>Êr$result–¹N=“mysql("database",“$query);Ž¡¡‘>Êr/*Ž¡‘>ÊrWe–¹Nhebben“nu“een“resultset“met“5“records“die“beginnen“opŽ¡‘>Êr$start.–¹NJe“kan“het“tonen“door“een“simpele“lus.Ž¡‘>Êr*/Ž¡‘>Êrwhile‘¹N($row=mysql_fetch_array($result)){Ž¡¡‘d”âecho‘¹N$row[veldnaam];Ž¡¡‘>Êr}Ž¡¡¡‘?>Žžff‰ffÕÁGŸª0¹Als–¿laatste“zou“je“dan“nog“een“v•¸èolgende/v“orige–¿pagina“functie“kunnen“bšGou•¸èw“en–¿do˜or“naar“het“totaal“aan¸ètalŽ¤ ®records–U te“kunnen“kijk¸èen“in“samenhang“met“de“$start“en“$view.ŽŸ#ÃÀ4.9Ž‘¾Kanš t–¸en“klare“oplossingen“v˜o_úor“PHP“(en“MySQL).ŽŸMª¹Er–mÃzijn“op“het“inš¸èternet“div˜erse“k‘ÿqÐan˜t“en“klare“oplossingen“te“vinden.‘»iMen“hoGeft“alleen“de“conguratie“aan“teŽ¡passen–U en“de“scripts“te“installeren.Ž¤ ÖÂ4.9.1Ž‘#!\Database‘Õonderhoud.Ž©#‘¸ŽŽŽ‘Áhttp://mo–ÿ}/dems.r“osenet.net/F‘ÿ;Èac“eMySQL/ŽŸ®‘¸ŽŽŽ‘Áhttp://www.htmlwizar–ÿ}/d.net/phpMyA“dmin/Ž¡Â4.9.2Ž‘#!\ZoQÂek®>en.Ž¦‘¸ŽŽŽ‘Áhttp://myse–ÿ}/ar“ch.udm.net/Ž¡Â4.9.3Ž‘#!\F‘ÿ ºorum.Ž¦‘¸ŽŽŽ‘Áhttp://fumanchi.tabu.uni-b‘ÿ}/onn.de/forum/Ž¤®‘¸ŽŽŽ‘Áhttp://www.ne–ÿ}/o“qst.c“om/public/ne“ob“o“ar“d/ne“ob“o“ar“d.htmlŽ¡‘¸ŽŽŽ‘Áhttp://www.phunkbr–ÿ}/os.dk/pr“o“ducts.htmlŽ¡‘¸ŽŽŽ‘Áhttp://www.phorum.or‘ÿ}/g/Ž¡‘¸ŽŽŽ‘Áhttp://w-agor–ÿ}/a.ar“axe.fr/ŽŽŽŒ‹ =– Û_2 ý ~?Ÿ„€ÕÁGŽÂ5.‘ñ8Sessions–Õin“PHP‘ÿ º.’j*¹9ŽŽ ÕÁ ýV¯Â4.9.4Ž‘#!\Gasten®>b•QÂo“ek.Ž¤#‘¸ŽŽŽ‘Áhttp://mygb.php-homep‘ÿ}/age.de/ŽŸ ÖÂ4.9.5Ž‘#!\E-Commerce‘Õoplossingen.Ž¡‘¸ŽŽŽ‘Áhttp://www.shc–ÿ}/art.or“g/Ž¤®‘¸ŽŽŽ‘Áhttp://www.w3-c–ÿ}/onc“ept.net/Ž¡‘¸ŽŽŽ‘Áhttp://mo–ÿ}/dems.r“osenet.net/MyCart/Ž¡‘¸ŽŽŽ‘Áhttp://www.php–ÿ}/auction.or“g/Ž¡‘¸ŽŽŽ‘Áhttp://phpshop.sour–ÿ}/c“efor“ge.net/ŽŸ(Àœ¾5Ž‘ÁSessions–G\in“PHP‘þ®(.ŽŸèÀ5.1Ž‘¾W‘þàat–¸is“een“session.Ž©Mª¹Sessions–¦7makš¸èen“het“mogelijk“om“v‘ÿqÐariabGelen“te“gebruik˜en“binnen“een“hele“w˜ebsite.‘dÅOp“het“momen˜t“dat“eenŽ¤ ®b•Gezo“ekš¸èer––qeen“site“b•Gezo“ekt––qk‘ÿqÐan“je“een“sessie“id“op˜vragen.‘5sZo'n“id“is“een“uniek“n˜ummer.‘5sHet“uniek˜e“nr“k˜om˜tŽ¡te–ä}vš¸èerv‘ÿqÐallen“op“het“momen˜t“dat“de“b•Gezo“ek˜er–ä}de“bro˜wser“zal“afsluiten.‘—Je“k‘ÿqÐan“met“sessions“w˜erk˜en“via“eenŽ¡Ác–ÿ}/o“okie‘o¹of–U via“de“session_id“in“de“url.‘q€De“onderstaande“v¸èo•Gorb“eelden–U gaan“uit“v‘ÿqÐan“een“coGokie.ŽŸ#ÃÀ5.2Ž‘¾Session–¸v‘ÿ@ ariab_úelen“meegevš en“en“op˜vragen.Ž¦¹Om–ìÈv‘ÿqÐariabšGelen“mee“te“gev¸èen“in“een“session“mo˜et“je“eerst“de“v‘ÿqÐariab˜ele“de“gewš¸èenste“w˜aarde“gev˜en.‘8yDaarnaŽ¡moGet–U je“die“sessie“nog“een“k¸èeer“registreren:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄŽžff‰ffÕÁGŸª0¹PHP‘ä”maakt–ä°aan“de“hand“v‘ÿqÐan“de“bšGo•¸èv“enstaande–ä°co˜de“een“b˜estandje“aan“in“de“/tmp“directory“met“als“b˜estand-Ž¤ ®snaam–kQhet“session_id.‘´In“het“bšGestand“w¸èorden“alle“v‘ÿqÐariab˜elen“opgeslagen.‘´Hierna“k‘ÿqÐan“je“in“elkš¸èe“willek˜eurigeŽ¡php–U pagina“(zolang“die“session“nog“inš¸ètact“is)“de“w˜aarde“$log“op˜vragen:ŽŽŽŒ‹ Dk Û_2 ý ~?Ÿ„€ÕÁGŽÂ6.‘ñ8Strings–Õin“PHP‘ÿ º.’j7¥¹10ŽŽ ÕÁ ýV¯‰ffÕÁG© ¨‘ÄŽžff‰ffÕÁGŸ+ƒ¾6Ž‘ÁStrings–G\in“PHP‘þ®(.ŽŸèÀ6.1Ž‘¾String›¸w• eergev“en˜in˜PHP‘þà.Ž¤MªÂ6.1.1Ž‘#!\Ec®>hoŽ¡¹Ecš¸èho–§ƒis“geen“functie“maar“een“commando,‘¼je“gebruikt“het“om“strings“w˜aarmee“je“geen“aparte“bGew˜erkingenŽŸ ®hošGeft–U uit“te“v¸èo˜eren“op“het“sc¸èherm“te“zetten:ŽŸ ‚¶‰ffÕÁG¦‘ÄÊrecho–¹N"Hello“World";Ž¡‘?>Žžff‰ffÕÁGŸ¯Â6.1.2Ž‘#!\Prin®>tŽ¤Mª¹Met–ƒ¤prinš¸èt“heb“je“iets“meer“mogelijkheden“dan“met“ec˜ho.‘ý Zo“k‘ÿqÐan“je“bijv˜o•Gorb“eeld–ƒ¤op“meerdere“regels“prin˜tenŽŸ ®zonder–U gebruik“te“mak¸èen“v‘ÿqÐan“ó  b> cmmi10µ<¹brµ>“¹en/of“"¸n¹n".ŽŸ ÖÂ6.1.3Ž‘#!\Prin®>tfŽ¡¹Prin¸ètf–U geeft“je“de“mogelijkheid“om“een“Áformatte‘ÿ}/d‘“°output‘Gé¹te“genereren.ŽŸ#ÃÀ6.2Ž‘¾String›¸samen• v“o_úegen˜(concat).Ž¡¹V‘ÿ*¸ošGor–U het“samen•¸èv“o˜egen–U v‘ÿqÐan“string“gebruik“je“een“.‘q€(ev•¸èen“tueel–U in“comš¸èbinatie“met“een“=“tek˜en):ŽŸæ‰ffÕÁG¦‘ÄÊr$a–¹N=“"foo";Ž¡‘>Êr$b–¹N=“"bar";Ž¡‘>Êr$c–¹N=“$a“.“$b;Ž¡¡‘>Êr/*Ž¡‘>ÊrGebruik–¹Nvan“het“=“teken.Ž¡‘>Êr*/Ž¡¡‘>Êr$a–¹N=“"foo";Ž¡‘>Êr$a–¹N.=“"“bar";Ž¡¡‘?>Žžff‰ffÕÁGŽŽŒ‹ Lz Û_2 ý ~?Ÿ„€ÕÁGŽÂ7.‘ñ8PHP–ÕcošQÂde“opnemen“in“je“b˜estanden.’‘¾¹11ŽŽ ÕÁ ýV¯À6.3Ž‘¾Gedeelte–¸v›ÿ@ an“een“string“v erv˜angen.Ž©Mª¹Je– yk›ÿqÐan“heel“snel“een“gedeelte“v˜an“een“string“v¸èerv˜angen.‘YIJe“gebruikt“daarvš¸èoGor“de“ereg_replace()“functie“v˜oGor:ŽŸæ‰ffÕÁGŸ ¨‘ÄÊr$a–¹N=‘ rœ"Dit“is“de“orginele“string";Ž¡‘>Êr$b–¹N=‘ rœereg_replace(“"“is",“"“was",“$a“);Ž¡¡‘?>Žžff‰ffÕÁGŸ+ƒ¾7Ž‘ÁPHP–G\cošpœde“opnemen“in“je“b˜estanden.ŽŸèÀ7.1Ž‘¾Hoš_úe–¸k‘ÿ@ an“ik“PHP“opnemen“in“mijn“h tml“b˜estanden.Ž¦¹Afhankš¸èelijk–¡4v‘ÿqÐan“de“h˜ttp“serv˜er“w˜aarop“PHP‘¡ staat“zijn“er“div˜erse“manieren“om“php“coGde“op“te“nemen“in“jeŽ¤ ®bšGestanden.‘ In–Šde“meeste“gev‘ÿqÐallen“zullen“de“b˜estanden“een“aparte“extensie“hebb˜en.‘ Dit“k›ÿqÐan“afhank¸èelijk“v˜anŽ¡de–U PHP“v¸èersie“v‘ÿqÐari€ëren“in“o.a.‘q€Áphtml‘w¹,“Áphp3‘°¹en“Áphp‘¡Ž¹.ŽŸؼDe–àÎcoGde“k‘ÿqÐan“op“elkš¸èe“willek˜eurige“plek“in“een“bGestand“w˜orden“opgenomen.›JºDit“doGe“je“d.m.v.˜opGenings“en“sluitŽ¡tags:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄŽžff‰ffÕÁGŸ ȹHet–ñyis“gebruikš¸èelijk“om“commen˜taar“regels“op“te“nemen“in“de“C‘ñ`programmeer“Ástyle‘ÀO¹.‘PINormaal“gesprok˜en“neemŽ¤ ®je–êgeen“cošGde“op“in“een“do˜cumen¸èt“als“het“onzinnig“is“om“het“do˜or“php“te“laten“parsen.‘WDit“do˜e“je“dan“gew¸èo˜onŽ¡in‘U h¸ètml.ŽŸ#ÃÀ7.2Ž‘¾Bestanden‘¸includen.Ž¦¹Het–Ìœis“mogelijk“om“bšGestanden“te“includen.‘×ôDit“is“v¸èo˜oral“handig“als“je“co˜de“sc¸èhrijft“die“je“in“meerdereŽ¡bšGestanden–U*wilt“aanro˜ep˜en.‘qžOp“die“manier“k‘ÿqÐan“je“de“co˜de“o•¸èv“erzic“h“telijk–U*houden.‘qžJe“k‘ÿqÐan“hierv¸èo˜or“het“ÁincludeŽ¡¹of–8!het“Ár–ÿ}/e“quir“e‘øp¹commando–8!gebruikš¸èen.‘gÖHet“grote“v˜ersc˜hil“tussen“deze“t˜w˜ee“commando's“zit“hem“hierin“dat“hetŽ¡Áinclude‘o¹commando–U wš¸èaarden“k‘ÿqÐan“teruggev˜en.‘q€Om“een“bGestand“te“includen“ga“je“als“v˜olgt“te“w˜erk:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄÊrinclude‘¹N("/path/bestand.php");Ž¡‘?>Žžff‰ffÕÁGŸ ȹJe–ñàk‘ÿqÐan“in“de“Áphp.ini‘ö©¹een“default“plek“aangevš¸èen“v˜ošGor“b˜estanden“die“je“wilt“includen“zo˜dat“je“alleen“deŽ¤ ®b•Gestandsnaam›Ího“eft˜aan˜te˜ro“ep“en.‘D"Je˜k‘ÿqÐan˜ze˜natuurlijk˜o“ok˜op˜een˜logisc•¸èhe˜plek˜op˜de˜w“ebserv“er˜neerzetten.Ž¡Zorg–B)in“dat“laatste“gev‘ÿqÐal“wš¸èel“dat“je“de“bGestanden“een“extensie“geeft“die“w˜ordt“Ágep–ÿ}/arse“d‘J ¹doGor–B)de“PHP‘Aäin˜terpreterŽ¡zošGdat–kümensen“niet“de“inhoud“v‘ÿqÐan“die“b˜estanden“kunnen“lezen.‘¶Ook“is“het“vš¸èerstandig“om“een“disallo˜w“op“teŽ¡nemen–Gv¸èošGor“zo'n“directory“in“je“rob˜ots.txt“zo˜dat“de“b˜estanden“niet“w¸èorden“ge€ïndexeerd“do˜or“zo˜ekmac¸èhines.ŽŽŽŒ‹ Qè Û_2 ý ~?Ÿ„€ÕÁGŽÂ8.‘ñ8PHP–Õerror's“en“bugs.’N̹12ŽŽ ÕÁ ýV¯¾8Ž‘ÁPHP–G\error's“en“bugs.ŽŸèÀ8.1Ž‘¾Ik– 0Ækrijg“de“melding“"Call“to“unsupp_úorted“or“undened“function:ŽŸõ‘¾m ysql_connect()".Ž¤Mª¹Als–Ÿ.je“gebruik“maakt“v›ÿqÐan“de“standaard“pac¸èk˜ages“v¸èoGor“het“installeren“v˜an“PHP‘Ÿdan“zit“daar“v˜aak“geen“suppGortŽ© ®v¸èošGor–U MySQL“bij“in.‘q€Je“zult“de“source“zelf“mo˜eten“compileren.ŽŸ"ïœÀ8.2Ž‘¾Mail–¸functie“w erkt“niet“onder“PHP4.Ž¡¹Er–$zit“een“v•¸èerv“elende–$bug“in“de“PHP4“(bGeta4)“conguratie.‘ÌŒIn“de“php.ini“k‘ÿqÐan“je“het“Áp‘ÿ}/ath‘ây¹aangev¸èen“naarŽ¦sendmail.›— Standaard–¶úis“die“regel“leeg“in“de“eerdere“v¸èersies.˜Als“je“het“leeg“laat“in“de“php.ini“k‘ÿqÐan“PHP‘¶àhetŽ¦Áp‘ÿ}/ath‘ß¹niet–<Švinden.›'¿De“oplossing“is“heel“een•¸èv“oudig.˜Zet–<Šeen“;‘°?v¸èoGor“de“regel,‘vePHP‘ŽŸfF‰ffÕÁGŸ¼¹W‘ÿ*¸e–U kunnen“nš¸èu“eerst“eens“gaan“bGekijk˜en“w˜elk˜e“v˜elden“er“in“de“tabGellen“staan:ŽŸ ¬F‰ffÕÁGŸ J ‘Ämysql>–¹Nshow“fields“from“links;Ž¡‘+------------+--------------+------+-----+---------+----------------+----------------------+Ž¡‘|–¹NField‘WÔ|“Type‘*ƒ¾|“Null“|“Key“|“Default“|“Extra‘/= |“Privileges‘3öZ|Ž¡‘+------------+--------------+------+-----+---------+----------------+----------------------+Ž¡‘|–¹Nid‘*ƒ¾|“int(11)–WÔ|“|–¹NPRI“|“NULL‘å8|“auto_increment“|“select,insert,update“|Ž¡‘|–¹Nurl‘%Êp|“varchar(255)“|‘WÔ|“MUL“|‘*ƒ¾|‘K”à|“select,insert,update“|Ž¡‘|–¹Nurl_naam‘+ê|“varchar(255)“|“YES‘ rœ|‘ž†|“NULL‘å8|‘K”à|“select,insert,update“|Ž¡‘|–¹Nlicense‘å8|“varchar(60)› rœ|“YES˜|‘ž†|“NULL‘å8|‘K”à|“select,insert,update“|Ž¡‘|–¹Ndiscript‘+ê|“tinyblob›ž†|“YES‘ rœ|˜|“NULL‘å8|‘K”à|“select,insert,update“|Ž¡‘|–¹Nlink_soort“|“int(11)–WÔ|“|‘ž†|–¹N0‘!"|‘K”à|“select,insert,update“|ŽŽŽŒ‹ \ö Û_2 ý ~?Ÿ„€ÕÁGŽÂ9.‘ñ8MySQL.’¹13ŽŽ ÕÁ ýV¯‘Ä+------------+--------------+------+-----+---------+----------------+----------------------+Ž¤ Š=¡‘mysql>–¹Nshow“fields“from“link_soort;Ž¡‘+-------+-------------+------+-----+---------+----------------+----------------------+Ž¡‘|–¹NField“|“Type‘%Êp|“Null“|“Key“|“Default“|“Extra‘/= |“Privileges‘3öZ|Ž¡‘+-------+-------------+------+-----+---------+----------------+----------------------+Ž¡‘|–¹Nid›å8|“int(11)‘ž†|‘WÔ|“PRI“|“NULL˜|“auto_increment“|“select,insert,update“|Ž¡‘|–¹Nnaam› rœ|“varchar(50)“|“YES˜|‘ž†|“NULL‘å8|‘K”à|“select,insert,update“|Ž¡‘+-------+-------------+------+-----+---------+----------------+----------------------+Ž¨ff‰ffÕÁGŸ ȹOp–þdie“manier“krijg“je“een“o•¸èv“erzic“h“t–þv‘ÿqÐan“de“v•¸èelden,‘)Ñrec“h“ten–þen“v•¸èeldt“ypGes–þdie“er“in“de“database“staan.‘_uOm“n¸èuŽŸ ®alle–U v¸èelden“uit“de“link_sošGort“tab˜el“te“selecteren“gebruik“je“de“v¸èolgende“co˜de:ŽŸ å‰ffÕÁGŸ ¨‘Ämysql>–¹Nselect“*“from“link_soort;Ž¡‘+----+---------------------------+Ž¡‘|–¹Nid“|“naam‘gì´|Ž¡‘+----+---------------------------+Ž¡‘|–¹N33“|“security_sites‘8¯¨|Ž¡‘|–¹N31“|“w-managers‘K”à|Ž¡‘|–¹N32“|“wm-tools‘U||Ž¡¡‘.................Ž¦‰ffÕÁGŸ ȹJe–3’ziet“dat“er“een“hele“rij“gegevš¸èens“te“v˜oGorsc˜hijn“k˜omen“die“bGestaan“uit“een“id“en“een“naam.‘fQAls“je“n˜u“alleenŽŸ ®wilt–U wš¸èeten“hoGev˜eel“records“er“in“die“tabGel“staan“dan“k‘ÿqÐan“je“dat“op˜vragen“met“COUNT:ŽŸ ‚¶‰ffÕÁGŸ ?œ‘Ämysql>–¹Nselect“count(id)“from“link_soort;Ž¡‘+-----------+Ž¡‘|–¹Ncount(id)“|Ž¡‘+-----------+Ž¡‘|‘%Êp51‘¹N|Ž¡‘+-----------+Ž¦‰ffÕÁG© ȹAls–07je“nš¸èu“gegev˜ens“wilt“to•Gev˜o“egen–07aan“deze“tabšGel“dan“k‘ÿqÐan“je“dat“met“het“INSER‘ÿ*¸T‘/þcommando“do˜en.‘ÅBijŽ¤ ®het–ÿopš¸èvragen“v‘ÿqÐan“de“tabGel“gegev˜ens“heb“je“kunnen“zien“dat“het“v˜eld“id“een“v˜eld“is“dat“de“eigensc˜hapŽ¡Áauto_incr‘ÿ}/ement‘耹heeft.‘Q³Je–õ·hoGeft“in“dat“gev‘ÿqÐal“dus“geen“eigenlijkš¸èe“w˜aarde“mee“te“gev˜en“v˜oGor“dat“v˜eld“als“je“eenŽ¡nieuš¸èw–B©record“wilt“in˜v˜oGeren.‘kXJe“gebruikt“in“dat“gev‘ÿqÐal“de“n˜ull“w˜aarde.‘kXMySQL‘B¥zal“zelf“bGekijk˜en“w˜elk“n˜ummerŽ¡er–U zal“wš¸èorden“gebruikt“v˜oGor“het“id:ŽŸ ‚¶‰ffÕÁGŸ ?œ‘Ämysql>–¹Ninsert“into“link_soort“values“(null,“'test');ŽŸ Š=‘Query–¹NOK,“1“row“affected“(0.13“sec)ŽŸfF‰ffÕÁG¦¹Om–î‹het“record“te“vš¸èerwijderen“k‘ÿqÐan“je“DELETE‘îqgebruik˜en.‘OOIn“dit“v˜o•Gorb“eeld–î‹zou“het“niet“kunnen“aangezien“deŽ¡gebruikš¸èer–¾~geen“rec˜h˜ten“heeft“om“records“te“v˜erwijderen“maar“de“syn˜tax“die“iemand“met“v˜oldoGende“rec˜h˜tenŽ¡moGet–U gebruikš¸èen“is“de“v˜olgende:ŽŸ ‚¶‰ffÕÁGŸ ¨‘Ämysql>–¹NDELETE“FROM“link_soort“WHERE“naam“=“'test';ŽŸ Š=‘Query–¹NOK,“1“row“affected“(0.02“sec)ŽŸfF‰ffÕÁGŸpÀ9.3Ž‘¾De–¸site“b•_úezo“ek er›¸to“egang˜gev en˜tot˜een˜database.ŽŸMª¹Om–site“b•Gezo“ek•¸èers›gegev“ens˜uit˜een˜database˜te˜kunnen˜laten˜op“vragen˜mo•Get˜je˜b“epaalde˜rec•¸èh“ten˜toGek“ennen.Ž¡Dit–U is“het“snelste“te“realiseren“in“de“mš¸èysql“monitor.‘q€W‘ÿ*¸e“gebruik˜en“hierv˜oGor“het“GRANT“statemen˜t:ŽŽŽŒ‹i9 Û_2 ý ~?Ÿ„€ÕÁGŽÂ9.‘ñ8MySQL.’¹14ŽŽ ÕÁ ýV¯‰ffÕÁG© ?œ‘ÄWelcome–¹Nto“the“MySQL“monitor.‘ rœCommands“end“with“;“or“\g.Ž¤ Š=‘Your–¹NMySQL“connection“id“is“4“to“server“version:“3.23.1-alphaŽ¡¡‘Type–¹N'help'“for“help.Ž¡¡‘mysql>–¹Nuse“mysqlŽ¡‘Reading–¹Ntable“information“for“completion“of“table“and“column“namesŽ¡‘You–¹Ncan“turn“off“this“feature“to“get“a“quicker“startup“with“-AŽ¡¡‘Database‘¹NchangedŽ¡‘mysql>Ž¤fF‰ffÕÁGŸ ȹJe–Uúk›ÿqÐan“oGok“gelijk“v˜anaf“de“prompt“de“database“selecteren“die“je“wilt“gebruik¸èen,‘V1je“doGet“dit“v˜anaf“de“promptŽŸ ®došGor–U m¸èysql“aan“te“ro˜ep˜en“met“als“argumenš¸èt“de“database“die“je“wilt“gebruik˜en:ŽŸ ‚¶‰ffÕÁG¦‘Ä$mysql‘¹NmysqlŽ¡‰ffÕÁG© ȹJe–Ö}k‘ÿqÐan“de“gebruikš¸èer“v˜ersc˜hillende“rec˜h˜ten“toGek˜ennen.‘GJDe“meest“v˜oGork˜omende“rec˜h˜ten“zijn“SELECT,“INSER‘ÿ*¸TŽŸ ®en–U UPDš¸èA‘ÿ*¸TE.“Dit“doGe“je“op“de“v˜olgende“manier:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄGRANT–¹NSELECT,“INSERT“ON“gb.gb“TO“guest@localhost“IDENTIFIED“BY“'hallo';Ž¡‰ffÕÁG¦¹W‘ÿ*¸e–©~hebbGen“de“gebruikš¸èer“guest“n˜u“rec˜h˜ten“gegev˜en“om“records“toGe“te“v˜oGegen“en“te“selecteren“in“de“gb“databaseŽ¤ ®wš¸èaarbij–óßhij“alleen“rec˜h˜ten“heeft“in“de“tabGel“gb.‘QDit“alles“k‘ÿqÐan“alleen“op“de“mac˜hine“w˜aarop“MySQL‘óÆstaat.‘QHetŽ¡w•¸èac“h“t“w“ošGord‘U v“o˜or–U die“gebruik¸èer“is“hallo.ŽŸؼMoGc•¸èh“t– Ãje“de“gebruikš¸èer“n˜u“oGok“UPD˜A‘ÿ*¸TE‘ •rec˜h˜ten“willen“gev˜en“en“hij“moGet“alles“v‘ÿqÐanaf“een“andere“mac˜hineŽ¡kunnen–U doGen“dan“gebruik“je“het“v¸èolgende:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄGRANT–¹NSELECT,“INSERT,“UPDATE“ON“gb.gb“TO“guest@domeinnaam“IDENTIFIED“BY“'hallo';ŽŸfF‰ffÕÁG¦¹MošGc•¸èh“t–~de“database“gb“uit“div¸èerse“tab˜ellen“b˜estaan“wš¸èaarop“de“gebruik˜er“allemaal“moGet“kunnen“lezen,‘©sc˜hrijv˜enŽ¡en–U aanpassen“dan“gebruik“je“de“vš¸èolgende“syn˜tax:ŽŸ ‚¶‰ffÕÁGŸ ¨‘ÄGRANT–¹NSELECT,“INSERT,“UPDATE“ON“gb.*“TO“guest@domeinnaam“IDENTIFIED“BY“'hallo';ŽŸfF‰ffÕÁGŽŽŒøvƒ’À;èÛ_2ÕÁGóqLË ectt0900ó]fŒ ecbx1000ó½HЃ ecti1000ó¥!¢N ecbx1200ó&Lt$ffffecbx1440óŒ6 ecss1000óþÖëI½q½qecss2074ó 1ê± ecrm1000ó !",š cmsy10ó  b> cmmi10ù~'ßßßßßß