query("SELECT 1"); return $db_connection; } // Utiliser les valeurs par défaut de conf.php si pas fournies if (empty($host) || $host === '10.10.10.22') { if (function_exists('get_defined_vars')) { $vars = get_defined_vars(); if (isset($vars['db_port']) && $vars['db_port']) { $port = $vars['db_port']; } } } $p = $port ?: 3307; $db_connection = @new mysqli($host, $user, $password, $database, $p); if ($db_connection->connect_error) { // Essayer le second serveur if (isset($db_host2)) { $p2 = $port ?: 3306; $db_connection = @new mysqli($db_host2, $user, $password, $database, $p2); } } if ($db_connection->connect_error) { trigger_error("Warning: mysqli_connect failed: " . $db_connection->connect_error, E_WARNING); } return $db_connection; } } if (!function_exists('mysql_select_db')) { function mysql_select_db($dbname, $link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_select_db($link, $dbname); } return false; } } if (!function_exists('mysql_query')) { function mysql_query($query, $link = null) { global $db_connection; $link = $link ?: $db_connection; if (!$link || !($link instanceof mysqli)) { return false; } $result = mysqli_real_query($link, $query); if (!$result) { return false; } return @mysqli_store_result($link); } } if (!function_exists('mysql_fetch_array')) { function mysql_fetch_array($result, $result_type = MYSQLI_ASSOC) { if ($result instanceof mysqli_result) { return @mysqli_fetch_array($result, $result_type); } return false; } } if (!function_exists('mysql_fetch_assoc')) { function mysql_fetch_assoc($result) { if ($result instanceof mysqli_result) { return @mysqli_fetch_assoc($result); } return false; } } if (!function_exists('mysql_fetch_object')) { function mysql_fetch_object($result, $class_name = "stdClass", array $params = []) { if ($result instanceof mysqli_result) { if ($class_name === "stdClass") { return @mysqli_fetch_object($result); } return @mysqli_fetch_object($result, $class_name, $params); } return false; } } if (!function_exists('mysql_fetch_row')) { function mysql_fetch_row($result) { if ($result instanceof mysqli_result) { return @mysqli_fetch_row($result); } return false; } } if (!function_exists('mysql_num_rows')) { function mysql_num_rows($result) { if ($result instanceof mysqli_result) { return @mysqli_num_rows($result); } return 0; } } if (!function_exists('mysql_numrows')) { function mysql_numrows($result) { return mysql_num_rows($result); } } if (!function_exists('mysql_affected_rows')) { function mysql_affected_rows($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_affected_rows($link); } return -1; } } if (!function_exists('mysql_insert_id')) { function mysql_insert_id($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_insert_id($link); } return 0; } } if (!function_exists('mysql_error')) { function mysql_error($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_error($link); } return ""; } } if (!function_exists('mysql_errno')) { function mysql_errno($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_errno($link); } return 0; } } if (!function_exists('mysql_result')) { function mysql_result($result, $row = 0, $field = null) { if (!$result instanceof mysqli_result) { return false; } if (@mysqli_data_seek($result, $row) === false) { return false; } $data = @mysqli_fetch_row($result); if (!$data) { return false; } if ($field === null) { return $data[0]; } if (is_int($field)) { return isset($data[$field]) ? $data[$field] : false; } $fields = @mysqli_fetch_field($result); if (!$fields) { return false; } foreach ($data as $key => $value) { if ($key === $field || $value === $field) { return isset($data[$key]) ? $data[$key] : false; } } return false; } } if (!function_exists('mysql_close')) { function mysql_close($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { @mysqli_close($link); return true; } return false; } } if (!function_exists('mysql_list_dbs')) { function mysql_list_dbs($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_list_dbs($link); } return false; } } if (!function_exists('mysql_client_encoding')) { function mysql_client_encoding($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_character_set_name($link); } return ""; } } if (!function_exists('mysql_ping')) { function mysql_ping($link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_ping($link); } return false; } } if (!function_exists('mysql_free_result')) { function mysql_free_result($result) { if ($result instanceof mysqli_result) { @mysqli_free_result($result); return true; } return false; } } if (!function_exists('mysql_real_escape_string')) { function mysql_real_escape_string($string, $link = null) { global $db_connection; $link = $link ?: $db_connection; if ($link instanceof mysqli) { return @mysqli_real_escape_string($link, $string); } return addslashes($string); } } // Définir les constantes nécessaires si manquantes if (!defined('MYSQL_ASSOC')) { define('MYSQL_ASSOC', MYSQLI_ASSOC); } if (!defined('MYSQL_NUM')) { define('MYSQL_NUM', MYSQLI_NUM); } if (!defined('MYSQL_BOTH')) { define('MYSQL_BOTH', MYSQLI_BOTH); } // ======================================== // Shims pour ereg() et ereg_replace() // Supprimés en PHP 7.0, supprimés en PHP 8.0 // ======================================== if (!function_exists('ereg')) { function ereg(...$args) { // Support signatures: // ereg(pattern, string) -> strpos for simple match // ereg(pattern, string, &$regs) -> preg_match with capture if (count($args) >= 3) { $pattern = $args[0]; if ($pattern[0] === '"' || $pattern[0] === "'") { $pattern = substr($pattern, 1, -1); } return preg_match('/' . (is_string($args[0]) ? $pattern : ''), $args[1], $args[2]) > 0; } if (count($args) >= 2) { $pattern = $args[0]; if ($pattern[0] === '"' || $pattern[0] === "'") { $pattern = substr($pattern, 1, -1); } return strpos($args[1], $pattern) !== false; } return false; } } if (!function_exists('ereg_replace')) { function ereg_replace($pattern, $replacement, $string) { // Strip surrounding quotes if present if (($pattern[0] === '"' && substr($pattern, -1) === '"') || ($pattern[0] === "'" && substr($pattern, -1) === "'")) { $pattern = substr($pattern, 1, -1); } return preg_replace('/' . $pattern . '/', $replacement, $string); } } if (!function_exists('split')) { function split($pattern, $string, $limit = -1) { if (($pattern[0] === '"' && substr($pattern, -1) === '"') || ($pattern[0] === "'" && substr($pattern, -1) === "'")) { $pattern = substr($pattern, 1, -1); } return preg_split('/' . $pattern . '/', $string, $limit); } }