Boek MySQLi

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

OutSystems Developer

Dit ga je doen Het van scratch af aan ontwikkelen van applicaties met OutSystems; Het aanhaken bij diverse projecten binnen de organisatie; Schakelen met de business; Meedenken over de mogelijkheden van het platform binnen de organisatie. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Capelle aan den IJssel zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

.NET Developer C# VB

Samengevat: Deze werkgever is actief in software voor het matchen van vraag en aanbod van gebruikte auto-onderdelen. Ben jij een .NET Developer? Heb je ervaring met het ontwikkelen (REST) en integreren van webservices? Vaste baan: C# .NET Developer C# VB HBO €2.600 - €6.200 Wij ontwikkelen software om vraag en aanbod van onderdelen van personenauto's bij elkaar te brengen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. De branche van dit bedrijf is Automotive. Functie: Voor de vacature als .NET Developer Dordrecht HBO ga je

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

19/05/2024 06:45:01
 
- 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.