Boek MySQLi

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

C# ontwikkelaar

Functie omschrijving Werk jij graag met C# en het .NET framework in een leuk familiebedrijf? Lees dan snel verder! Jouw takenpakket hierbij is: Je gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Je gaat werken in een Microsoft omgeving (ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Daarnaast optimaliseer je de bestaande software. Bedrijfsprofiel Deze organisatie is gevestigd in de omgeving van Best en is een echt familiebedrijf. Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer start jij in een development team met twee ervaren software ontwikkelaars. Jouw persoonlijke ontwikkeling is voor ons erg belangrijk en jij gaat dan ook meelopen met onze Senior .NET ontwikkelaar die jou met zijn kennis en ervaring een goede begeleiding kan aanbieden. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

IT Manager team PaaS

TenneT is hard groeiende om haar ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Lead PaaS die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je wordt de Teammanager (Lead) van een nieuw team binnen de afdeling Basic van Information Technology and Facilities (ITF) van TenneT. Het team heet Platform as a Service. Hier wordt elke dag in een goede sfeer met zijn allen hard gewerkt om vanuit IT

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

SQL Developer

Functie omschrijving Altijd al willen werken bij een snelgroeiend bedrijf, actief in de logistieke sector? Dit is je kans! Ik ben op zoek naar een ervaren SQL Developer in de omgeving Tilburg. Dit bedrijf is gespecialiseerd in in de ontwikkeling van software en maatwerk oplossingen voor het automatiseren van logistieke processen. Klanten zijn o.a. BOL en andere grote distributiecentrums. Jouw taken worden vooral: Verantwoordelijk voor ontwikkelen van stored procedures, voor snelle afhandeling van data; Optimalisatie van de SQL query's en T-SQL query's; Jij gaat je bezig houden met ontwerpen, ontwikkelen en optimaliseren van de MS SQL Databases; In deze functie

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »
Sander Z

Sander Z

12/02/2015 14:46:02
Quote Anchor link
Al enige tijd vind ik het leuk om zelf lekker te hobbyen met PHP en MySQL.
In principe alles voor eigen gebruik.
Mijn PHP en javascript kennis is in de loop der jaren uitgebreid. Heb me daar vaker in verdiept. Maar schandelijk genoeg (ben jullie voor) niet mijn kennis mbt MySQL.

Ik gebruik nog steeds de oude mysql methode ipv mysqli of PDO.

Nu zoek ik naar een goed boek voor de mysqli methode. (Ik kies voor de mysqli methode omdat ik in principe alleen gebruik maak van SQL en niet van andere typen databases)

Wie kent een goed boek zodat ik mijn kennis kan uitbreiden?
 
PHP hulp

PHP hulp

15/02/2025 04:55:21
 
- Ariën  -
Beheerder

- Ariën -

12/02/2015 14:57:11
Quote Anchor link
De verschillen tussen de werkwijze van de functies van MySQL en MySQLi zijn niet zo heel groot te noemen.
Een van de grotere verschillen is dat MySQLi zoals prodecureel als in OO kan.

Ik denk dat als je dit doorleest, dat je dan al meer dan genoeg weet:
http://phptuts.nl/view/26/
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2015 15:33:43
Quote Anchor link
En nog wat "boeken":

MySQLi for beginners
(heb ik geskimd, ziet er volgens mij wel goed uit)

mijn eigen samenvatting van MySQLi
naar aanleiding van onderzoek naar de precieze werking en "tips" zoals ik mysqli zou gebruiken.
 
Sander Z

Sander Z

12/02/2015 19:22:44
Quote Anchor link
Thanks voor de links!
Jullie mening voor mijn situatie: Zou je je gaan verdiepen in MySQLi OO, of PDO? En waarom?
Kan nu nog beide kanten op ;)
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2015 20:16:14
Quote Anchor link
Hangt er vanaf.

mening:
Van welke database(s) denk je gebruik te gaan maken? Als dit enkel MySQL is zou ik voor MySQLi gaan. Het enige plausibele argument wat ik ben tegengekomen -in het geval dat je al van een MySQL database gebruik maakt- om voor PDO te gaan is wanneer je er nog niet helemaal over uit bent of MySQL de database wordt die je uiteindelijk gaat gebruiken, en wanneer er nog andere kandidaten zijn (waar PDO een driver voor heeft)

stelling:
Het is (zeer) onwaarschijnlijk dat het database type in de levensloop van een applicatie verandert.

En dan is er het (eeuwenoude?) misverstand dat PDO dit ondervangt ("Je hoeft alleen maar een handjevol PDO methodes te leren en voor de rest werkt alles he-le-maal vanzelf lololololo"). Dit doet PDO niet. Als je SQL-code in database A anders in elkaar zit dan database B dan helpt PDO je niets - PDO is een Data Access Abstraction Layer, geen Database Abstraction Layer (dit staat ook in mijn artikel...). Oftewel de code die je schrijft voor toegang tot de db (connectie, queries) is misschien wel hetzelfde tussen verschillende databases maar de vorm van de queries niet (per se). De SQL code in PDO is nog steeds (mogelijk) database-specifiek.

stelling:
PDO is niet geschreven voor MySQL. MySQLi wel. PDO heeft wel vele drivers, waaronder een MySQL driver.

mening:
Dit houdt ook in dat als je van PDO gebruik maakt om een connectie te maken met MySQL dat je misschien nog e.e.a. moet tweaken voordat dit naar behoren/verwachting werkt/reageert. Hiertoe moet je een grondige kennis hebben van zowel PDO als intrinsieke kenmerken van de database in kwestie (dus ook als je van MySQL gebruik maakt). Het is dus niet "theorie lezen and off you go met PDO" (ja, het ravijn in misschien).

mening:
Het gebruik van prepared statements wordt gepredikt, maar ik predik liever voor kennis van zaken. Ik zou nou niet direct het gebruik van prepared statements in MySQLi aanprijzen (wederom, zie mijn artikel) maar als je je gezond verstand gebruikt (en de security tips in mijn artikel volgt, lol) dan kom je een heel eind. Veiligheid van je applicatie/queries ontstaat niet door alles maar aan een toverformulie (prepare() SIMSALABIM) te voeren. Veiligheid van je applicatie/queries ontstaat door weten waar je mee bezig bent. Het enige wat PDO doet is je in slaap sussen en je lui en laks maken.

mening:
Na het schrijven van die tutorial over MySQLi voelde ik mij toch genoodzaakt om mij te verdiepen in PDO (in combinatie met MySQL). Ik moet deze nog steeds een keer afschrijven :). De dingen waar ik tegenaan liep:
- PDO lijkt typehints in bind() methoden niet te respecteren tenzij deze variabelen zelf al van dit specifieke type zijn - dit kwam mij enigszins vreemd over omdat PHP zelf loosely typed is.

Een voorbeeld: Als ik PDO vertel dat $_GET['id'] (die ik uiteraard wel filter hierop, ik ben geen complete dwaas) een integer is, dan zet PDO hier nog steeds doodleuk quotes omheen in de uiteindelijke query.

- om dit laatste waar te nemen moest ik mijn MySQL logging aanzetten en mijn uiteindelijke query uit deze log vissen, omdat ik geen andere manier heb kunnen vinden om mijn queries uit te spugen - volgens mij is dat simpelweg niet mogelijk; oftewel: queries debuggen in PDO is gigantisch omslachtig

TL;DR gebruik je enkel MySQL - gebruik MySQLi, maar snap waar je mee bezig bent door je in te lezen over de mogelijke security issues. Dat is eigenlijk ALTIJD wel een goed advies. Anders: gebruik PDO, gl & hf met queries debuggen :).

Last but not least: lees eens wat artikelen, en vorm vervolgens je eigen mening. Verdiep je in beide, en maak je eigen keuze.

EDIT: spelling
Gewijzigd op 12/02/2015 20:40:59 door Thomas van den Heuvel
 
Sander Z

Sander Z

12/02/2015 21:08:29
Quote Anchor link
Dank voor je top antwoord!

Ik ga me er zeker meer in verdiepen. Maar van alles wat ik tot nu toe al had gelezen kwam ik eigenlijk al op MySQLi uit.
En wat betreft de veiligheid. Daar had ik me al in verdiept en hou ik altijd rekening mee. Data ed. die je in een query zet moet je nooit vertrouwen. Dus altijd controleren.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2015 21:42:59
Quote Anchor link
Ik zie op dit board vaak dat bij mysql_ of mysqli_ functies de foutafhandeling vergeten wordt. PDO heeft hier standaard in voorzien. Daarbij vind ik het juist een groot voordeel dat PDO verschillende drivers kent.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2015 23:52:30
Quote Anchor link
Een simpele wrapper kan hier in voorzien. Deze wrapper kan zeker toegevoegde waarde bieden en zorgt er tevens voor dat je je functies / methoden waarmee je met je database communiceert niet hardcode. Als je een wrappertje schrijft dan doe je eigenlijk hetzelfde als wat PDO je standaard al out-of-the-box levert, toegegeven, maar dat is echt niet zo'n grote moeite.

Quote:
Daarbij vind ik het juist een groot voordeel dat PDO verschillende drivers kent.

Dat "voordeel" wordt vaak aangehaald, maar het is niet echt een voordeel vanwege de redenen die ik eerder aanhaalde:
- je schakelt bij het gebruik / in de levensloop van een applicatie toch niet / nauwelijks tussen databases
- je kunt niet zomaar schakelen van database-types simpelweg door het wijzigen van je DSN (connectie-string), dat heeft waarschijnlijk meer voeten in de aarde dan enkel dat, daarnaast zou het niet misstaan om je applicatie(s) daarna eens grondig door te testen
- je hebt nog steeds te maken met de intrinsieke eigenschappen van de specifieke database-types; zelfs MEER dan wanneer je van een extensie gebruik maakt die specifiek geschreven is voor één type (MySQLi)

De meerwaarde hiervan is imo nihil.
 
Ward van der Put
Moderator

Ward van der Put

13/02/2015 10:36:50
Quote Anchor link
Voor foutafhandeling heeft MySQLi exceptions aan boord, alleen moet je die wel even aanzetten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
?>

PDO heeft wel meerwaarde. Je moet echter groter uitpakken als je PDO verkiest om meerdere databaseplatforms te ondersteunen. Je kunt dan bijvoorbeeld een driver bouwen die niet alleen de juiste PDO-driver laadt, maar ook het laden van de juiste models met queries in het SQL-dialect van een bepaalde databasestandaard regelt.

PDO kiezen voor compatibiliteit en dan alleen MySQL-specifieke queries uitvoeren in het vaak nogal typische SQL-dialect van MySQL, is inderdaad half werk. Wel is het een goed begin, maar dan moet je aansluitend nog meer stappen zetten.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

13/02/2015 13:16:44
Quote Anchor link
Bedankt voor de feedback heren. Al bij al is mijn conclusie dat het allemaal wat lood om oud ijzer is. Was je al gewend om met MySql te werken dan is MySqli een makkelijke overstap inderdaad. Weten waar je mee bezig bent zoals hierboven door Thomas genoemd is inderdaad het allerbelangrijkste. Jouw toevoeging over de mysqli-extensions is waardevol Ward, had er nooit meer aan gedacht doch al eens eerder gelezen volgens mij :-)
 
Thomas van den Heuvel

Thomas van den Heuvel

13/02/2015 15:03:00
Quote Anchor link
PDO is als een keukenmachine met een heleboel functies... waarvan je er doorgaans maar 1 gebruikt. En als je wilt hakken in plaats van snijden moet je het hele apparaat anders kalibreren.

Maar laten we het apparaat vooral prijzen om zijn veelzijdigheid (fantaseer hierbij een TelSell reclamespot "Wat zoveel functies? Amazing!").
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/02/2015 13:43:03
Quote Anchor link
Het is prima als je voorkeur uitgaat naar MySQLi, maar kretologie zoals hierboven raakt kant noch wal.

Sterker nog, MySQLi kent veel meer functies dan PDO!

Bv drie manieren (preps, query en real_query) om een query uit te voeren. Op zich niet zo'n probleem, maar je moet voor elk van de drie daarop anders programeren. PDO is daarin veel eenduidiger, ongeacht of je preps of een query uitvoert, je krijgt gewoon een statement object terug.

Ook de prepared statements (die ik overigens zelden gebruik) van PDO werken beter (named paramaters ipv die afschuwelijke placeholders).

Ik persoonlijk kies dus voor PDO, niet vanwege portability maar gewoon om dat ik het beter/gemakkelijker vind werken.
Gewijzigd op 14/02/2015 13:43:19 door Ger van Steenderen
 
Thomas van den Heuvel

Thomas van den Heuvel

14/02/2015 17:58:39
Quote Anchor link
Het bovenstaande was dus bedoeld als knipoog naar iets wat zo vaak wordt genoemd als "sterk punt" van PDO, terwijl dit helemaal geen sterk punt is. Ik kan mij ook voorstellen dat men hiervan de humor (het sarcasme?) inmiddels ontgaat. Integendeel, naar mijn mening raakt de (meeste) argumentatie waarom PDO dan "beter" zou zijn kant nog wal.

Sterker nog, er is helemaal geen "beter" of "best", zodra je deze terminologie hanteert zit je meestal al fout. Des te meer is de argumentatie waarom je kiest voor PDO of MySQLi belangrijker dan de keuze zelf. En elke keer bedient men zich weer zich van dit soort onzin argumenten. Die je overigens niet moet tellen maar moet wegen.

"Minder statements" is er ook zo een. Het is gewoon bedrieglijk dat PDO daarom makkelijker lijkt, maar het geenszins is... tenzij je stopt bij het aanleren van prepared statements en verder geen blik onder de motorkap van PDO (noch de specifieke driver) werpt.

Ik durf te wedden dat je eerder je weg vindt in MySQLi dan dat je PDO + de MySQL-driver voor PDO hebt ontleed.

Ieder zijn ding. Ik vind PDO een gribus (om bovengenoemde redenen (<-- onderbouwde argumenten yo)) en daarnaast ontiegelijk gebruiksonvriendelijk voor ontwikkeling.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.