За последние 24 часа нас посетили 22769 программистов и 1154 робота. Сейчас ищут 598 программистов ...

Php7-->to php8

Тема в разделе "PHP для новичков", создана пользователем Евгений Владимирович, 30 мар 2024.

  1. Евгений Владимирович

    Евгений Владимирович Активный пользователь

    С нами с:
    3 май 2009
    Сообщения:
    16
    Симпатии:
    0
    Перехожу на php 8.
    Выдает ошибку mod_fcgid: stderr: thrown in
    On line 12
    Mysqli_select_db -думаю это из-за этого.
    Как сейчас узнать что нужно переделать в новой версии?
    Весь код целиком:
    define("DATABASE_NAME","z21");
    define("DATABASE_USER","z21");
    define("DATABASE_PASSWORD","45");
    define("DATABASE_HOST","mysqlserver");
    $Link_ID=mysqli_connect("mysqlserver", "z21", "45", "z21");
    @mysqli_select_db(DATABASE_NAME,$Link_ID);
    mysqli_query ($Link_ID, 'SET NAMES utf8');
    mysqli_query ($Link_ID, 'SET CHARACTER SET utf8');
    $res_r = mysqli_query($Link_ID, "SELECT * FROM news WHERE id=". $_GET['id']);
    $row = mysqli_fetch_array($res_r, MYSQLI_ASSOC);
    echo $row['Title'];
    ?>
     
  2. Евгений Владимирович

    Евгений Владимирович Активный пользователь

    С нами с:
    3 май 2009
    Сообщения:
    16
    Симпатии:
    0
    Решил проблему
    Если кому интересно, то
    Я совсем удалил строку
    @mysqli_select_db(DATABASE_NAME,$Link_ID);
    И всё заработало
    Пока всё работает как нужно. В новой версии php лучше не использовать функцию, как я понял
     
  3. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    257
    Симпатии:
    19
    Эта строка вам и не нужна.
    А так, в ней ошибка, параметры местами поменять надо.
    Константы обьявлены у вас, а не используются в mysqli_connect, что странно
     
  4. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    250
    Симпатии:
    46
    Адрес:
    Бавария, Германия
    Согласен с Вами строка с ошибкой лишняя, а вот константы объявлены и используются в mysqli_connect
    PHP:
    1. define("DATABASE_NAME","z21");
    2. define("DATABASE_USER","z21");
    3. define("DATABASE_PASSWORD","45");
    4. define("DATABASE_HOST","mysqlserver");
    5. $Link_ID=mysqli_connect("mysqlserver", "z21", "45", "z21");
    Удачи и наступающим Воскресением!
     
  5. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    250
    Симпатии:
    46
    Адрес:
    Бавария, Германия
    (дополнение)
    Прошу прощения, Вы правы, константы объявлены, но не используются в mysqli_connect д.б.
    PHP:
    1. $Link_ID = mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD, DATABASE_NAME);