Nieuw project: mysql of mysqli
De vraag is eigenlijk heel simpel.
Ik ga een nieuw project starten en wil weten of ik hiervoor het beste mysql of mysqli kan gaan gebruiken.
Ik ken mysql, maar heb begrepen dat mysqli beter en veiliger is.
Wat is jullie mening hier over?
De grote reden om voor de mysqli (of PDO) extensie te kiezen heeft te maken met het feit dat de mysql extensie zeer waarschijnlijk niet al te lang meer zal worden gebruikt, in nieuwere php releases dan. Als je dus iets met mysql doet dan kan het zijn dat eerdaags je website niet meer werkt.
Gewijzigd op 25/10/2013 15:15:26 door Erwin H
@TJVB, leg dan svp ook uit waarom. Want volgens mij is het gewoon een persoonlijke keuze.
Als directe vervanging van mysql is er MySQLi. Deze API's lijken er op elkaar en aangezien je MySQLi ook als functie kunt gebruiken raad ik dit aan.
PDO is echter een compleet nieuw project, vanaf de grond aan opgebouwd. Het kan omgaan met meerdere typen database (niet alleen mysql, maar ook bijv. sqlite). Ook heeft het een beter prepared statement systeem.
Maar grotendeels is het een persoonlijke keuze. Als ik een beginner was (wat ik in alle eerlijkheid denk dat jij bent) en ik zou snel een applicatie willen bouwen zou ik gewoon lekker MySQLi op de functionele wijze gaan gebruiken. Wil je wat meer tijd investeren of weet je al de OO syntax van PHP, dan gebruik je MySQLi op de object wijze.
Maak je wat ingewikkeldere applicaties en wil je tijd investeren in het leren van een nieuwe API, dan is PDO de beste keuze.
Ik heb ooit wel een keer gewerkt met PDO, maar heb er nooit veel tijd in gestoken.
En om eerlijk te zijn heb ik momenteel niet de behoefte om dit eerst te gaan leren.
Voor mij wordt het dus MySQLi.
En ik gebruik uit de reactie van Wouter dan je ook MySQLi via OOP kan doen (dat hier al een goede class voor bestaat)?
Wat is hiervan dan het voordeel ten opzichte van de 'gewone' MySQLi functies?
Gewijzigd op 25/10/2013 15:38:10 door Tom aan t Goor
Dat MySQLi eigenlijk OOP is en de functie alleen een wrapper om het ene object zijn.
De reden is dat PDO named parameters ondersteund. En als bonus dat PDO in de meeste benchmarks net iets sneller is dan MySQLi
Gewijzigd op 25/10/2013 16:21:42 door Erwin H
Voor mij is dan portability de belangrijkste reden om PDO te gebruiken, MySQLi gebruik ik alleen bij het inlezen van sql dumps (Multi query ondersteuning)
Ik ben het met Wouter eens dat als je vanuit mysql moet gaan overzetten, voor de meesten mysqli eenvoudiger is.
Omdat een op een omzetten van mysql naar mysqli niet kan vraag ik mij af of er een lijst beschikbaar is waarop te zien is welke instructies zonder meer lunnen worden omgezet. Mysql_connect is er zo een die anders is opgebouwd
ze zijn allemaal anders opgebouwd, maar praktisch werken ze het zelfde. Zo kon je met mysql de $link parameter (die altijd aan het einde kwam) weglaten, maar komt in mysqli deze parameter als eerste en mag je hem niet weglaten.