175 lines
4.1 KiB
PHP
175 lines
4.1 KiB
PHP
<?php
|
|
/**
|
|
* Make mysql_connect work like mysqli_connect for future php versions.
|
|
*
|
|
* @author Ivor Barhansky
|
|
* @version 0.2
|
|
*/
|
|
|
|
// Make sure the MySQL extension is not loaded and there is no other drop in replacement active
|
|
if (!extension_loaded('mysql') && !function_exists('mysql_connect')) {
|
|
// Validate if the MySQLi extension is present
|
|
if (!extension_loaded('mysqli')) {
|
|
trigger_error('The extension "MySQLi" is not available', E_USER_ERROR);
|
|
}
|
|
|
|
// The function name "getLinkIdentifier" will be used to return a valid link_indentifier, make it is available
|
|
if (function_exists('getLinkIdentifier')) {
|
|
trigger_error('The function name "getLinkIdentifier" is already defined, please change the function name', E_USER_ERROR);
|
|
}
|
|
|
|
// Define MySQL constants
|
|
define('MYSQL_CLIENT_COMPRESS', MYSQLI_CLIENT_COMPRESS);
|
|
define('MYSQL_CLIENT_IGNORE_SPACE', MYSQLI_CLIENT_IGNORE_SPACE);
|
|
define('MYSQL_CLIENT_INTERACTIVE', MYSQLI_CLIENT_INTERACTIVE);
|
|
define('MYSQL_CLIENT_SSL', MYSQLI_CLIENT_SSL);
|
|
|
|
define('MYSQL_ASSOC', MYSQLI_ASSOC);
|
|
define('MYSQL_NUM', MYSQLI_NUM);
|
|
define('MYSQL_BOTH', MYSQLI_BOTH);
|
|
|
|
// Will contain the link identifier
|
|
$link = null;
|
|
|
|
/**
|
|
* Get the link identifier
|
|
*
|
|
* @param mysqli $mysqli
|
|
* @return mysqli|null
|
|
*/
|
|
function getLinkIdentifier(mysqli $mysqli = null)
|
|
{
|
|
if (!$mysqli) {
|
|
global $link;
|
|
$mysqli = $link;
|
|
}
|
|
|
|
return $mysqli;
|
|
}
|
|
|
|
/**
|
|
* Open a connection to a MySQL Server
|
|
*
|
|
* @param $server
|
|
* @param $username
|
|
* @param $password
|
|
* @return mysqli|null
|
|
* @deprecated
|
|
*/
|
|
function mysql_connect($server, $username, $password, $new_link = false, $client_flags = 0)
|
|
{
|
|
global $link;
|
|
|
|
$link = mysqli_connect($server, $username, $password);
|
|
return $link;
|
|
}
|
|
|
|
/**
|
|
* @param $databaseName
|
|
* @return bool
|
|
* @deprecated
|
|
*/
|
|
function mysql_select_db($databaseName)
|
|
{
|
|
global $link;
|
|
|
|
return mysqli_select_db($link, $databaseName);
|
|
}
|
|
|
|
/**
|
|
* @param $query
|
|
* @param mysqli $mysqli
|
|
* @return bool|mysqli_result
|
|
* @deprecated
|
|
*/
|
|
function mysql_query($query, mysqli $mysqli = null)
|
|
{
|
|
return getLinkIdentifier($mysqli)->query($query);
|
|
}
|
|
|
|
/**
|
|
* @param $string
|
|
* @param mysqli $mysqli
|
|
* @return string
|
|
* @deprecated
|
|
*/
|
|
function mysql_real_escape_string($string, mysqli $mysqli = null)
|
|
{
|
|
return getLinkIdentifier($mysqli)->escape_string($string);
|
|
}
|
|
|
|
/**
|
|
* @param mysqli_result $result
|
|
* @return bool|array
|
|
* @deprecated
|
|
*/
|
|
function mysql_fetch_assoc(mysqli_result $result)
|
|
{
|
|
$result = $result->fetch_assoc();
|
|
if ($result === null) {
|
|
$result = false;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* @param mysqli_result $result
|
|
* @return bool|int
|
|
* @deprecated
|
|
*/
|
|
function mysql_num_rows(mysqli_result $result)
|
|
{
|
|
$result = $result->num_rows;
|
|
if ($result === null) {
|
|
$result = false;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
/**
|
|
* @param mysqli_result $result
|
|
* @param $result_type
|
|
* @return void
|
|
* @deprecated
|
|
*/
|
|
function mysql_fetch_array(mysqli_result $result, $result_type = MYSQL_BOTH)
|
|
{
|
|
return mysqli_fetch_array($result, $result_type);
|
|
}
|
|
|
|
/**
|
|
* Get the ID generated in the last query
|
|
*
|
|
* @param null $mysqli
|
|
* @return int|string
|
|
* @deprecated
|
|
*/
|
|
function mysql_insert_id(mysqli $mysqli = null)
|
|
{
|
|
return mysqli_insert_id(getLinkIdentifier($mysqli));
|
|
}
|
|
|
|
/**
|
|
* Get result data
|
|
*
|
|
* @param $result
|
|
* @param $row
|
|
* @param int $field
|
|
* @return mixed
|
|
* @deprecated
|
|
*/
|
|
function mysql_result($result, $row, $field = 0)
|
|
{
|
|
$result->data_seek($row);
|
|
$row = $result->fetch_array();
|
|
if (!isset($row[$field])) {
|
|
return false;
|
|
}
|
|
|
|
return $row[$field];
|
|
}
|
|
|
|
}
|