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