За последние 24 часа нас посетили 16820 программистов и 1643 робота. Сейчас ищут 934 программиста ...

После перевода с mysql на mysqli сайт перестал отвечать

Тема в разделе "PHP для новичков", создана пользователем HolodZhe, 21 авг 2017.

  1. HolodZhe

    HolodZhe Новичок

    С нами с:
    23 авг 2016
    Сообщения:
    57
    Симпатии:
    1
    Здравствуйте. У меня есть специальный класс, через который делаются все запросы (p.s. это скрипт хостинга который слили недавно, поэтому делал его не я).

    В принципе, тут есть единственный класс, через который делаются все запросы к БД, он был на обычном mysql, все работало, но как только перевел функции на mysqli, перестал отвечать сайт, а именно ошибочка:
    Страница недоступна
    Сайт ... пока не может обработать этот запрос.

    HTTP ERROR 500

    Сам класс уже переведенный на MySQLi:
    PHP:
    1. final class db
    2. {
    3.     public static $db_id         = false;
    4.     public static $connected     = false;
    5.     public static $query_num     = 0;
    6.     public static $query_list    = array ();
    7.     public static $mysql_version = '';
    8.     public static $mysql_extend  = "MySQLi";
    9.     public static $query_id      = false;
    10.     public static $time          = 0;
    11.  
    12.     public static function connect ( $db_user , $db_pass , $db_name , $db_location = 'localhost' )
    13.     {
    14.         $time_before = api::get_real_time ();
    15.         if ( ! self::$db_id = @mysqli_connect ( $db_location , $db_user , $db_pass ) ) {
    16.             exit("Не удалось подключиться к базе данных");
    17.         }
    18.         if ( ! @mysqli_select_db ( self::$db_id, $db_name ) ) {
    19.             exit("Не удалось найти таблицу в БД");
    20.         }
    21.         self::$connected = true;
    22.         self::$time += api::get_real_time () - $time_before;
    23.  
    24.         return true;
    25.     }
    26.  
    27.     public static function query ( $query , $show_error = true )
    28.     {
    29.         global $conf;
    30.         $time_before = api::get_real_time ();
    31.         if ( ! self::$connected ) {
    32.             db::connect ( $conf[ 'db_users_user' ] , $conf[ 'db_users_pass' ] , $conf[ 'db_users_name' ] , $conf[ 'db_users_host' ] );
    33.         }
    34.         if ( ! ( self::$query_id = mysqli_query ( self::$db_id, $query ) ) ) {
    35.             die( mysqli_error (self::$db_id) );
    36.         }
    37.         self::$query_num ++;
    38.         self::$time += api::get_real_time () - $time_before;
    39.  
    40.         return self::$query_id;
    41.     }
    42.  
    43.     public static function assoc ( $query_id = '' )
    44.     {
    45.         if ( $query_id == '' ) {
    46.             $query_id = self::$query_id;
    47.         }
    48.  
    49.         return @mysqli_fetch_assoc ( $query_id );
    50.     }
    51.  
    52.     public static function num ( $query_id = '' )
    53.     {
    54.         if ( $query_id == '' ) {
    55.             $query_id = self::$query_id;
    56.         }
    57.  
    58.         return mysqli_num_rows ( $query_id );
    59.     }
    60.  
    61.  
    62.     public static function insert_id ()
    63.     {
    64.         return mysqli_insert_id ( self::$db_id );
    65.     }
    66.  
    67.     public static function escape ( $source )
    68.     {
    69.         global $conf;
    70.         if ( ! self::$db_id ) {
    71.             db::connect ( $conf[ 'db_users_user' ] , $conf[ 'db_users_pass' ] , $conf[ 'db_users_name' ] , $conf[ 'db_users_host' ] );
    72.         }
    73.         if ( self::$db_id ) {
    74.             return mysqli_real_escape_string ( self::$db_id, $source );
    75.         } else {
    76.             return addslashes ( $source );
    77.         }
    78.     }
    79.  
    80.     public static function close ()
    81.     {
    82.         @mysqli_close ( self::$db_id );
    83.     }
    84. }
    --- Добавлено ---
    Так же использую ISPManager, в настройках PHP включен как MySQL, так и MySQLi
     
  2. teleoperator

    teleoperator Зэк
    [ БАН ]

    С нами с:
    3 июл 2017
    Сообщения:
    107
    Симпатии:
    29
    Народ, ну что у вас за привычка гадать на кофейной гуще? Ну включите вывод ошибок, логирование, и смотрите, что не так
     
  3. HolodZhe

    HolodZhe Новичок

    С нами с:
    23 авг 2016
    Сообщения:
    57
    Симпатии:
    1
    Делал, никаких ошибок как таковых нету, поэтому и прошу помощи у Вас!
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    99.9% что при "переводе" была допущена ошибка....
    PHP:
    1. global $conf;
    ваще не айс, тем более вроде бы классы используете, ООП
     
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    а если собак убрать?
     
  6. HolodZhe

    HolodZhe Новичок

    С нами с:
    23 авг 2016
    Сообщения:
    57
    Симпатии:
    1
    Если такой процент "ошибки" при переводе, то если не сложно, посмотрите на код, и есть ли там ошибка? Я уже 3 раза перепроверил все аргументы, все стоит там где надо...
     
  7. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    сложно...ибо немотивировано
     
  8. HolodZhe

    HolodZhe Новичок

    С нами с:
    23 авг 2016
    Сообщения:
    57
    Симпатии:
    1
    Закройте тему, не знаю как, но проблема решилась "сама", очень странно.