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