Deprecated Mysql to Mysqli mapping
Introduction
Since PHP 5.4, the original MySQL extension is obsolete and will generate alerts E_DEPRECATED level when connecting to a database. Instead, we can use the MySQLi extension or PDO_MySQL extension.
If like me, you have sites with the MySQL extension, here are some small examples to switch to MySQL MySQLi (which I find easier to use on my little creations).
Database connection
Previously, MySQL, connect to the database was thus:
Code PHP :
// we connect to MySQL $conn = mysql_connect('$host', '$user', '$passwd'); // we select database mysql_select_db('mabase',$conn);
Now, with MySQLi :
<?php
// Connection variables
$host = “localhost”; // MySQL host name eg. localhost
$user = “user1”; // MySQL user. eg. root ( if your on localserver)
$password = “”; // MySQL user password (if password is not set for your root user then keep it empty )
$database = “zzz”; // MySQL Database name
// Connect to MySQL Database
$link = mysqli_connect($host, $user, $password, $database);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: ” . mysqli_connect_error();
}
?>
Les requêtes
Migrating to MySQLi Procedural Methods
MySQLi procedural methods use a parameter that references either an object link or a result object. We have seen the reference to the object link when we dealt with mysqli_select_db. The result object is similar to a MySQL result returned from a query, for example.
Many of the methods in MySQL have very similar procedural methods in MySQLi, and are as simple to migrate as adding the i to mysql and adding or moving the link or result to the first parameter. Remember that MySQLi requires the link for those methods that reference a link. In the following list, the MySQL statement is followed by the replacement MySQLi procedural method.
mysql_affected_rows -> mysqli_affected_rows($link)
mysql_close -> mysqli_close($link)
mysql_data_seek -> mysqli_data_seek( $result, $offset)
mysql_errno -> mysqli_errno( $link)
mysql_error -> mysqli_error( $link)
mysql_fetch_array -> mysqli_fetch_array( $result, $type)
mysql_fetch_assoc -> mysqli_fetch_assoc( $result)
mysql_fetch_lengths -> mysqli_fetch_lengths( $result )
mysql_fetch_object -> mysqli_fetch_object( $result, $class, $params)
mysql_fetch_row -> mysqli_fetch_row( $result)
mysql_field_seek -> mysqli_field_seek( $result, $number)
mysql_free_result -> mysqli_free_result(result)
mysql_get_client_info -> mysqli_get_client_info( $link)
mysql_get_host_info -> mysqli_get_host_info( $link)
mysql_get_proto_info -> mysqli_get_proto_info( $link)
mysql_get_server_info -> mysqli_get_server_info( $link)
mysql_info -> mysqli_info( $link)
mysql_insert_id -> mysqli_insert_id( $link)
mysql_num_rows -> mysqli_num_rows( $result)
mysql_ping -> mysqli_ping( $link)
mysql_query -> mysqli_query( $link, $query)
mysql_real_escape_string -> mysqli_real_escape_string( $link)
mysql_select_db – > mysqli_select_db( $link, $database)
mysql_set_charset -> mysqli_set_charset( $link, $charset)
mysql_stat -> mysqli_stat( $link)
mysql_thread_id -> mysqli_thread_id( $link)