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'')
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