MySQL en MySQLi

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kitty N

kitty N

12/03/2013 10:32:01
Quote Anchor link
Hallo,

Ik heb een vraag m.b.t. MySQL en MySQLi.
Op php.net wordt aangegeven dat MySQL vanaf PHP 5.5 niet meer ondersteund wordt en in de toekomst verwijderd zal worden. Hoe snel moeten we zijn met websites, om deze om te zetten naar MySQLi?

Met vriendelijke groet,

Kitty
 
PHP hulp

PHP hulp

20/04/2024 03:52:45
 
Reshad F

Reshad F

12/03/2013 10:56:14
Quote Anchor link
Voorlopig nog niet, Je moet alleen rekening mee houden dat het gebeuren gaat.

Je kan naast MySQLi ook PDO gebruiken wat naar mijn mening veel beter is.
Het enige goede aan MySQLi is dat het iets sneller is maar als je je database goed hebt opgebouwd dan merk je dat verschil nauwelijks behalve als je het daadwerkelijk gaat testen met cijfertjes. Nog een klein voordeel is dat MySQLi veel op mysql lijkt en de syntax van PDO is net iets anders omdat je het alleen op OOP manier kan schrijven en MySQLi als procedurele code.

Het voordeel van PDO is dat als je het eenmaal goed opbouwt je het nooit hoeft te veranderen in principe omdat het de meeste database drivers ondersteund. zo kan je simpel overstappen van MySQL naar Oracle of Postgresql zonder je code te veranderen. Ook is het iets veiliger dan MySQLi.

The choice is up to you!

http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/
Gewijzigd op 12/03/2013 10:59:55 door Reshad F
 
Koen Hollander

Koen Hollander

12/03/2013 10:56:38
Quote Anchor link
-knip (verkeerd antwoord)
Gewijzigd op 12/03/2013 10:56:58 door Koen Hollander
 
Kitty N

kitty N

12/03/2013 11:03:52
Quote Anchor link
Bedankt voor je reactie Reshad.

Is er misschien een tijdsindicatie waar we rekening mee dienen te houden?
Verdwijnt het over bijvoorbeeld een half jaar, een jaar of kan het nog wel 2 jaar duren?
 
Reshad F

Reshad F

12/03/2013 11:11:43
Quote Anchor link
Dat is moeilijk te zeggen want ze willen dat langzaam maar zeker iedereen overstapt op MySQLi of PDO. Php 5.4 is nog niet zo lang uit en hier hebben ze het nog niet als deprecated aangeduid maar ze zijn er zeker over aan het nadenken om het in de toekomstige versies wel te doen. Ik denk dat je wel minimaal 1 jaar de tijd hebt aangezien je hosts deze updates ook niet dagelijks uitvoeren en meestal afwachten of het wel een stable release is wat php uitbrengt.

Nu is mijn vraag is het zoveel dat je er zo lang de tijd voor nodig hebt of wil je het gewoon uitstellen?

tip: ik raad je aan om code wat nog geschreven gaat worden eventueel wel al in PDO of MySQLi te doen.
 
Kitty N

kitty N

12/03/2013 11:15:19
Quote Anchor link
Het gaat namelijk niet om 1 site, maar om meerdere sites.

Waar het eigenlijk om gaat is dat ik weet hoe snel ik het allemaal moet omzetten.
De code die momenteel geschreven wordt, wordt al niet meer geschreven in MySQL. Eventuele code die aangepast moet worden en in MySQL staat wordt herschreven naar MySQLi.
 
Willem vp

Willem vp

12/03/2013 11:50:13
Quote Anchor link
Omdat je niet de enige bent met dit probleem, kun je ervan uitgaan dat de support voor de mysql-libraries niet binnen een paar maanden wordt geschrapt. Het deprecaten is een eerste stap, maar het kan rustig nog jaren duren voor de support daadwerkelijk verdwijnt.

Bij dit soort ingrijpende wijzigingen zul je ook zien dat die meestal pas worden doorgevoerd bij een major upgrade, dus PHP 6 of misschien zelfs pas PHP 7.

Om je een beetje gerust te stellen: kijk naar HTML 4. Dat heeft ontzettend veel deprecated functionaliteit, maar de laatste specificatie stamt uit 1999 en nog steeds wordt het op de meeste websites gebruikt. PHP 6 is ook iets waar al sins 2006 of zo over wordt gediscussieerd. Ik vrees dan ook dat je nog ruimschoots de tijd hebt om de sites aan te passen.

Wat mij betreft kan de support overigens niet snel genoeg geschrapt worden. Laat iedereen maar even door de zure appel heenbijten. Veroorzaakt meteen ook een beetje natuurlijke selectie onder de websites.
Gewijzigd op 12/03/2013 11:51:28 door Willem vp
 
Wouter J

Wouter J

12/03/2013 14:55:08
Quote Anchor link
Willem, PHP6 en 7? Phoeh, jij geloofd daar nog in?

En vergelijken met HTML is appels met peren vergelijken. HTML heeft een zeer gemakkelijk deprecated systeem, zodra er iets is wat niet (meer) ondersteund wordt zal hij het gewoon overslaan. PHP gaat dan met errors gooien enzo...




Om je antwoord te beantwoorden: De laatste alpha versie van 5.5 is uit, ergens eind maart komt de eerste beta versie. Ik denk dat PHP5.5 ergens rond april/mei zal uitkomen. Dan duurt het nog 1 tot enkele jaren voordat de meeste servers naar PHP5.5 zijn geupgrated.
Vervolgens moet je niet bang zijn dat de mysql_* extensie in PHP5.6 gaat verdwijnen, dat duurt echt nog wel een paar versies. Afgaande dat het releasen van een nieuwe versie zo'n jaar duurt betekend het dus dat je PHP5.7 ergens rond april 2015 hebt, het dan 2 jaar duurt voordat je host het hebt en dat je je dan pas zorgen hoeft te maken. Dat betekend dus ergens rond 2017 ofzo.

Mijn tip: Gewoon zo laten. MySQL wordt zo extreem veel gebruikt dat ik me afvraag of er een hoster is die de extensie op uit laat staan.
Tegen de tijd dat je het echt moet gaan updaten is het al tijd voor een complete rewrite van het systeem, omdat de hele code dan al weer te oud is.
 
TJVB tvb

TJVB tvb

12/03/2013 16:22:19
Quote Anchor link
De eerste vraag is niet alleen wanneer PHP5.5 uit komt maar wanneer jou hoster dat gaat draaien. Er zijn nog genoeg (of eigenlijk veel te veel) hosters die nu pas de overstap naar 5.3 maken. Dan kun je er rustig vanuit gaan dat het wel 2 jaar duurt vanaf het uitkomen van PHP5.5 voordat ze gaan upgraden. Maar ik zou met nieuwe software wel aanraden om PDO te gaan gebruiken.
Je kunt nog altijd zelf mysql_* functies maken die pdo gebruiken wanneer mysql_* niet meer ondersteund wordt.
 
Wouter J

Wouter J

12/03/2013 16:37:28
Quote Anchor link
Quote:
Je kunt nog altijd zelf mysql_* functies maken die pdo gebruiken wanneer mysql_* niet meer ondersteund wordt.

Inderdaad, zat ik ook aan te denken. Een soort compatibility layer.

Offtopic:
Quote:
Er zijn nog genoeg (of eigenlijk veel te veel) hosters die nu pas de overstap naar 5.3 maken.

Is dit niet een beetje overdreven? Voor zover ik de hosting in NL heb onderzocht (heb dat pas weer moeten doen) is iedereen wel naar 5.3. Het gaat er vooral nu om of 5.4 wel of niet geïnstalleerd is.
 
Willem vp

Willem vp

12/03/2013 16:49:18
Quote Anchor link
Wouter J op 12/03/2013 14:55:08:
En vergelijken met HTML is appels met peren vergelijken. HTML heeft een zeer gemakkelijk deprecated systeem, zodra er iets is wat niet (meer) ondersteund wordt zal hij het gewoon overslaan. PHP gaat dan met errors gooien enzo...

Ik zit helemaal geen fruitsalade met elkaar te vergelijken. Deprecated wil niet zeggen dat het niet meer ondersteund wordt, alleen dat het niet (meer) wordt aanbevolen. Dat is in HTML hetzelfde als in PHP. Wat jij beschrijft, het negeren van dingen die niet worden ondersteund, is een language feature. Dát is pas appels met peren vergelijken. ;-)

En ja, PHP6 wordt al in één adem genoemd met Perl 6; daar wordt ook alweer bijna 13 jaar aan gewerkt. Het zal ooit wel komen, maar ik ga er mijn adem niet voor inhouden.

Quote:
Mijn tip: Gewoon zo laten.

Ik heb betere tips gezien. Alhoewel er geen druk achter zit, zou ik bij de eerstvolgende gelegenheid toch de boel gaan omzetten naar mysqli. Wellicht ken je het Oud-Hollandse spreekwoord "van uitstel komt afstel"? Als je het omschrijven nu voor je uitschuift, en je toevallig een provider treft die vrij snel is met upgraden, zou je uiteindelijk nog wel eens in tijdnood kunnen komen om de boel daadwerkelijk om te schrijven.

Maar het is niet alleen dat. De oude mysql-extensie begint nu functionaliteit te missen; zo wordt al niet de volledige functionaliteit van MySQL 5.1 en later ondersteund (for the record: MySQL 5.1 stamt al uit 2005) en kun je ook fluiten naar andere dingetjes die de kwaliteit van het leven vergroten, zoals stored procedures en prepared statements.

Daarnaast zal er geen ontwikkeling meer plaatsvinden op de oude mysql-extensie. Security fixes zullen nog wel uitkomen, maar als er morgen een security bug wordt ontdekt die zo ernstig is dat er heel veel werk in gaat zitten om het op te lossen, zou zomaar besloten kunnen worden dat de extensie er per de eerstvolgende release (desnoods minor) wordt uitgehaald. Die kans is weliswaar klein, maar het zal je net gebeuren. ;-)

Overigens zal met ingang van PHP 5.5 elke aanroep van een mysql_*-functie een E_DEPRECATED error geven. Die is niet fataal, maar wel vervelend. Uiteraard kun je errors wel onderdrukken, maar dát vindt Willem nou net weer geen goed idee.
Gewijzigd op 12/03/2013 16:50:00 door Willem vp
 



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.