De overstap van standaard MySQL extensie naar verbeterde MySQL extensie (MySQLi)

De standaard MySQL extensie is sinds PHP 5.5.0 deprecated en wordt in de toekomst definitief verwijderd.

De deprecated foutmeldingen worden als volgt uitgeschakeld:

error_reporting(E_ALL ^ E_DEPRECATED)

Wat zijn de voordelen van MySQli
  • Object-georiënteerde interface;
  • Ondersteuning voor prepared statements;
  • Ondersteuning voor meerdere statements;
  • Ondersteuning voor transacties;
  • Verbeterde debugging-mogelijkheden;
  • Embedded server support.

Wat zijn de verschillen tussen MySQL en MySQLi

Hieronder volgt een opsomming van de meest gebruikte functionaliteiten:


Open een verbinding met een MySQL Server

MySQL

$link = mysql_connect('localhost', 'user', 'password');
mysql_select_db('dbname', $link);

MySQL:

$link = mysqli_connect('localhost', 'user', 'password', 'dbname');

Foutafhandeling

MySQL

mysql_error()

MySQLi (procedurale interface)

mysqli_error()

MySQLi (object georiënteerde interface)

$mysqli->error

SQL query uitvoeren

MySQL

$result = mysql_query('SELECT * FROM users', $link);

MySQLi (procedurale interface)

$result = mysqli_query($link, 'SELECT * FROM users');

MySQLi (object georiënteerde interface)

$result = $link->query('SELECT * FROM users'')

MySQLi prepared statements


Geef het aantal rijen in het resultaat

MySQL

$num_rows = mysql_num_rows($result);

MySQLi (procedurale interface)

$num_rows = mysqli_num_rows($result);

MySQLi (object georiënteerde interface)

$num_rows = $result->num_rows;

Haal een resultaat rij op als een associatieve array

MySQL

$row = mysql_fetch_assoc($result);

MySQLi (procedurale interface)

$row = mysqli_fetch_assoc($result);

MySQLi (object georiënteerde interface)

$row = $result->fetch_assoc();

Meer informatie

David van der Tuijn
"Mijn naam is David van der Tuijn, als senior php developer bij Floro Webdevelopment B.V. werk ik samen met een projectleider, back-end developers, front-end developers en designers, op basis van een functioneel- (FO) en technisch ontwerp (TO), bouw ik webapplicaties die voldoen aan de nieuwste ontwikkelingen op internet gebied. Ik werk zelfstandig, weet hoe een architectuur opgezet moet worden en kan deze uitdragen in een multidisciplinair team. binnen een project adviseer ik over de juiste methoden en technieken. Ik ontwikkel en bewaak de kwaliteit van de development werkzaamheden in projecten en kan projecten binnen een afgegeven planning afronden."