За последние 24 часа нас посетил 21951 программист и 1103 робота. Сейчас ищут 725 программистов ...

Не могу подключиться к базе и выполнить запрос

Тема в разделе "PHP для новичков", создана пользователем Анатолийновичок, 5 окт 2021.

  1. Анатолийновичок

    С нами с:
    23 сен 2021
    Сообщения:
    7
    Симпатии:
    0
    Уважаемые коллеги, есть такой код:
    <?
    $link = mysqli_connect("localhost", "XXXX", "XXX");

    if ($link == false){
    print("Ошибка: Невозможно подключиться к MySQL " . mysqli_connect_error());
    }
    else {
    print("Соединение установлено успешно");
    }


    $sql ="INSERT INTO nomerfaktury SET nomerfaktury = 5, datafaktury = '2021-10-06 18:31:10',firma = 2";

    $result = mysqli_query($link, $sql);


    if ($result == false) {
    print("Произошла ошибка при выполнении запроса");

    echo mysqli_error();

    }
    ?>

    Если я вручную пытаюсь выполнить sql запрос в phpmyadmin, то все прекрасно срабатывает .
    INSERT INTO nomerfaktury SET nomerfaktury = 5, datafaktury = '2021-10-06 18:31:10',firma = 2

    Но если я пытаюсь обратиться через скрипт PHP, который описан выше, то выдает ошибку

    ( вывод экрана от скрипта).
    "Соединение установлено успешно
    Произошла ошибка при выполнении запроса

    Если я указываю явно таблицу в первоначальном подключении $link = mysqli_connect("localhost", "XXXX", "XXX","ТАБЛИЦА");

    То пишет мне что access denied.

    Люди добрые помогите, не могу понять куда копать
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Там ещё у вас есть вывод mysqli_error, он что показывает?
     
  3. Анатолийновичок

    С нами с:
    23 сен 2021
    Сообщения:
    7
    Симпатии:
    0
    Ничего, пустота
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    1. Для удобочитаемости кода на форуме есть тег специальный - используйте его
    2. $link = mysqli_connect("localhost", "XXXX", "XXX","ТАБЛИЦА"); это вы сами так придумали? а давайте еще ченить сюда напишем и удивимся? Ибо 4-м параметром передается имя базы данных, а не таблицы... таблица вообще никоим образом в коннект не передается
    3. В mysqli_error($link); нужно указывать соединение
     
    don.bidon и MouseZver нравится это.
  5. Анатолийновичок

    С нами с:
    23 сен 2021
    Сообщения:
    7
    Симпатии:
    0
    Уважаемые коллеги. Добавил таблицу с маленькой буквы в mysqli_connect 4 тым параметром, а была с большой и заработало. Методом тыка после этого стало работать . Это мое упущение. В любом случае коллеги всем спасибо, кто пытался мне помочь. Мои ошибки , на них учусь.
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    да не указываются там таблицы, там указывается имя Базы Данных!!!! НЕ таблицы!

    https://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.construct.html
     
  7. Анатолийновичок

    С нами с:
    23 сен 2021
    Сообщения:
    7
    Симпатии:
    0
    Да , прошу прощение, за введение в заблуждение . У меня таблица точно также называется как и база данных
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    mysqli_error ( $link )
    --- Добавлено ---
    кроме того, я бы посоветовал никогда не использовать короткие теги <?
    сейчас у тебя прокатывает, потом или на другом хосте этот же скрипт внезапно™ приведёт к "белому экрану"
     
    don.bidon нравится это.
  9. Sviridov

    Sviridov Новичок

    С нами с:
    22 сен 2021
    Сообщения:
    24
    Симпатии:
    4
    синтаксис запроса никого не смущает?
    правильно:
    insert into `table` (`field1`, `field2`, `field3`) values (`value_1`, `value_2`, `value_3`);

    в первых скобках - пишем каким столбцам мы присвоим значения из вторых (правых) скобок.
     
  10. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    не смущает, поверь (проверь) - так тоже можно ))))