Upgrade mysql to mysqli

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

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 »

Anouck Fierens

Anouck Fierens

26/11/2018 14:06:33
Quote Anchor link
Ik ben vrij nieuw met php. Ik heb dit tijdens mijn opleiding wel gezien maar heb er sinds 8 jaar niets meer gedaan. Nu ben ik voor een vereniging de website aan het aanpassen deze is nog op php 5.6 gebouwd maar de provider ondersteund het niet meer.

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.
 
PHP hulp

PHP hulp

29/11/2024 13:52:21
 
- Ariën  -
Beheerder

- Ariën -

26/11/2018 14:12:56
Quote Anchor link
Je zult voornamelijk de mysql_** prefix van de functies naar mysqli_** moeten ombouwen.
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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

26/11/2018 16:24:20
Quote Anchor link
- 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
 
- Ariën  -
Beheerder

- Ariën -

26/11/2018 16:50:24
Quote Anchor link
Voor zover ik weet heeft phpBB een dergelijke databaseclass die je kan omswitchen naar mysqli of mysql en mogelijke andere types. En ik heb het wel een vaker gezien. (moet de source nog eens checken). Maar het is net hoever je wilt gaan.

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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

26/11/2018 22:43:16
Quote Anchor link
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.
 
- Ariën  -
Beheerder

- Ariën -

26/11/2018 23:14:53
Quote Anchor link
Geen idee of die ook een conversie aanbieden, technisch hoeft dat geen bottleneck te zijn.
En ommezwaai gebeurt niet vaak. Vooral enkel bij mysql -> mysqli.
Maar volgens mij dwalen we een beetje af ;-)
 
Anouck Fierens

Anouck Fierens

27/11/2018 07:46:32
Quote Anchor link
Bedankt allemaal voor de reacties. Ik heb ondertussen een eenvoudige manier om een replace te doen gevonden via notepad++

In de toekomst gaat deze site OO worden aangezien we deze volledig gaan vervangen als ook responsive maken.
 



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.