Здравствуйте. У меня есть специальный класс, через который делаются все запросы (p.s. это скрипт хостинга который слили недавно, поэтому делал его не я). В принципе, тут есть единственный класс, через который делаются все запросы к БД, он был на обычном mysql, все работало, но как только перевел функции на mysqli, перестал отвечать сайт, а именно ошибочка: Страница недоступна Сайт ... пока не может обработать этот запрос. HTTP ERROR 500 Сам класс уже переведенный на MySQLi: PHP: final class db { public static $db_id = false; public static $connected = false; public static $query_num = 0; public static $query_list = array (); public static $mysql_version = ''; public static $mysql_extend = "MySQLi"; public static $query_id = false; public static $time = 0; public static function connect ( $db_user , $db_pass , $db_name , $db_location = 'localhost' ) { $time_before = api::get_real_time (); if ( ! self::$db_id = @mysqli_connect ( $db_location , $db_user , $db_pass ) ) { exit("Не удалось подключиться к базе данных"); } if ( ! @mysqli_select_db ( self::$db_id, $db_name ) ) { exit("Не удалось найти таблицу в БД"); } self::$connected = true; self::$time += api::get_real_time () - $time_before; return true; } public static function query ( $query , $show_error = true ) { global $conf; $time_before = api::get_real_time (); if ( ! self::$connected ) { db::connect ( $conf[ 'db_users_user' ] , $conf[ 'db_users_pass' ] , $conf[ 'db_users_name' ] , $conf[ 'db_users_host' ] ); } if ( ! ( self::$query_id = mysqli_query ( self::$db_id, $query ) ) ) { die( mysqli_error (self::$db_id) ); } self::$query_num ++; self::$time += api::get_real_time () - $time_before; return self::$query_id; } public static function assoc ( $query_id = '' ) { if ( $query_id == '' ) { $query_id = self::$query_id; } return @mysqli_fetch_assoc ( $query_id ); } public static function num ( $query_id = '' ) { if ( $query_id == '' ) { $query_id = self::$query_id; } return mysqli_num_rows ( $query_id ); } public static function insert_id () { return mysqli_insert_id ( self::$db_id ); } public static function escape ( $source ) { global $conf; if ( ! self::$db_id ) { db::connect ( $conf[ 'db_users_user' ] , $conf[ 'db_users_pass' ] , $conf[ 'db_users_name' ] , $conf[ 'db_users_host' ] ); } if ( self::$db_id ) { return mysqli_real_escape_string ( self::$db_id, $source ); } else { return addslashes ( $source ); } } public static function close () { @mysqli_close ( self::$db_id ); } } --- Добавлено --- Так же использую ISPManager, в настройках PHP включен как MySQL, так и MySQLi
Народ, ну что у вас за привычка гадать на кофейной гуще? Ну включите вывод ошибок, логирование, и смотрите, что не так
99.9% что при "переводе" была допущена ошибка.... PHP: global $conf; ваще не айс, тем более вроде бы классы используете, ООП
Если такой процент "ошибки" при переводе, то если не сложно, посмотрите на код, и есть ли там ошибка? Я уже 3 раза перепроверил все аргументы, все стоит там где надо...