Upgrade mysql to mysqli
Is er een mogelijkheid om snel een upgrade te doen van mysql naar mysqli?
De site is niet Object georiënteerd geprogrammeerd. met gevolg het zijn meer dan 30 pagina's met overal mysql call's in.
Maar bij diverse functies zijn de argumenten anders, en wordt er vaak een connectie-variabele vereist:
Net als bij mysqli_query en mysqli_real_escape_string. Ook is de connectie meteen voorzien van een vierde 'database'-argument
Beste advies is om alle functies op PHP.net even na te lezen qua opbouw.
Persoonlijk raad ik aan om de OO-variant te gebruiken. Die kan je met een aparte class uitbreiden. Zo heb ik onder meer de foutafhandeling in een ge-clonede $mysqli->query() gebouwd, met ingebouwde foutafhandeling. Nog mooier zou een overkoepelende class zijn mocht je ooit van database zou veranderen. Dan is het aanpassen minimaal werk.
Maar het is net hoever je wilt gaan. :-)
Gewijzigd op 26/11/2018 14:19:14 door - Ariën -
- Ariën - op 26/11/2018 14:12:56:
Nog mooier zou een overkoepelende class zijn mocht je ooit van database zou veranderen.
Nog nooit, in mijn gehele IT-carrière, ben ik dat eigenlijk tegengekomen. Wat veel zinniger is is een schil om MySQL zelf, zodat als de definities voor gebruikmaking van een MySQL-database een keer veranderen -waar hier dus op dit moment ook al sprake van is- je enkel deze definities hoeft aan te passen, in plaats van alle hardcoded instanties van mysql_whatever() waar je nu mee te maken hebt inhoudelijk aan te passen. Een ezel stoot zich in 't gemeen...
Anyhow, je kunt alles wel omzetten en dat zal uiteindelijk ook wel lukken, maar de kans dat e.e.a. niet meer up-to-date is uit oogpunt van security (en privacy, als het persoonsgegevens / persoonlijke gegevens betreft) lijkt mij een heikeler punt.
Je kunt best in eerste instantie alles porten van mysql_* naar mysqli_*, maar eigenlijk zou je dus verder moeten gaan dan dat. Simpelweg omdat iets werkt maakt het nog niet juist (of veilig, for that matter).
Gewijzigd op 26/11/2018 16:24:38 door Thomas van den Heuvel
Voor een verkoopproduct zou ik het zeker handig vinden. Als het eigen source is, ligt het eraan hoeveel werk je wilt verzetten voor iets wat zelden tot nooit plaatsvindt.
Ikzelf ben enkel overgestapt van mysql naar OO Mysqli, met daarbij een extended class.
Prima zat.
Gewijzigd op 26/11/2018 16:51:13 door - Ariën -
Oh ik kan mij best voorstellen dat bepaalde webapplicaties en -systemen support hebben voor meerdere databases, maar dat is nog steeds iets anders dan gedurende de levensloop van een applicatie switchen van database. Zelfs met producten als phpBB kies je waarschijnlijk initieel één database(type), maar verander je daarna toch niet meer ook al is er de mogelijkheid. Er is simpelweg geen noodzaak voor.
En ommezwaai gebeurt niet vaak. Vooral enkel bij mysql -> mysqli.
Maar volgens mij dwalen we een beetje af ;-)
In de toekomst gaat deze site OO worden aangezien we deze volledig gaan vervangen als ook responsive maken.