Доступ к MySQL посредством PHP | Динамический веб-сайт

Поділитися
Вставка
  • Опубліковано 16 вер 2024
  • Весь процесс общения языка программирования PHP с базой данных MySQL состоит из следующих этапов:
    1. Подключаемся к самой базе MySQL
    2. Готовим наш запрос
    3. Выполняем запрос
    4. Получаем данные и обрабатываем (например вывод на страницу)
    5. Отключаемся от базы MySQL
    МОЯ IDE:
    www.jetbrains....
    ССЫЛКА НА МАТЕРИАЛ (google disk):
    drive.google.c...

КОМЕНТАРІ • 69

  • @user-vb2fw1jp9z
    @user-vb2fw1jp9z Рік тому +6

    Спасибо Андрей. Ваш труд бесценен!

  • @onlytryhard80
    @onlytryhard80 3 роки тому +3

    Спасибо за урок! Идеально всё разжевали

  • @AM-cb9ih
    @AM-cb9ih Рік тому +2

    Дякую за вашу роботу!!!

  • @user-yg1qu4fy8f
    @user-yg1qu4fy8f Рік тому +2

    Cмотрел я короче 7 уроков, вроде все понимал, все получалось. Тут появились какие-то циклы, и говорят нет смысла дальше что-то делать если не знаешь. Класс) ткните носом что и где учить пожалуйста

    • @ador989
      @ador989 Рік тому +3

      php базу 🤓

  • @user-semaschko62
    @user-semaschko62 2 роки тому +1

    Спасибо Андрей. Легко, грамотно.

  • @OleksandrTexas
    @OleksandrTexas 3 роки тому +2

    Большое спасибо за уроки

  • @Dostoevsky2012
    @Dostoevsky2012 3 роки тому +2

    Привет! Спасибо за видео!

  • @emkonrus
    @emkonrus 2 роки тому +2

    почему-то, если соединение с бд НЕ работает, то сообщение 'Error connection' (ну и вообще ничего, что там в скобках) не выдаётся - только сообщение MySQL об ошибке доступа и дальше программа прерывается

  • @vPritykTV
    @vPritykTV Рік тому +3

    У меня в БД 3 строки. Если вывожу только имя, то выводятся все 3. Если же начинаю выводить ID и имя, то идет смещение. ID 1 присваивается второму юзеру, ID 2 - соответственно третьему, ID 3 выводится, но без имени.
    В видеоуроке я заметил тот же момент. Имя первого юзера было Dimon. После выведения ID Димон куда-то пропал, а Андрей уже стал под ID 1, так же третья строка пустая.
    Подскажите в чем может быть проблема? Просто дайте направление куда копать.

    • @ALEXANDERRAMMST
      @ALEXANDERRAMMST Рік тому +1

      абсолютно аналогично и у меня! Пните, когда ответят.

    • @ALEXANDERRAMMST
      @ALEXANDERRAMMST Рік тому +10

      разобрался. Нужно просто между вот этими двумя "fetch_assoc"-ами вставить $result->data_seek($i);
      Связано с тем, что fetch_assoc сдвигает позицию на единицу.

    • @a_o_channelallahmanov954
      @a_o_channelallahmanov954 10 місяців тому

      @@ALEXANDERRAMMST на уроке пишется fetch_assoc 2 раза он обрабатывает каждую строку два раза по этому надо создать обект с fetch_assoc и обрашатся к обьекту
      $rows = $result->num_rows;
      for ($i = 0; $i < $rows; ++$i){
      $result->data_seek($i);
      $data = $result->fetch_assoc();
      echo 'Lgin: ' . $data ['login'] . ' ';
      echo 'Name: ' . $data ['name'] . '';
      } примерно так

    • @АлексейПетриков-у8и
      @АлексейПетриков-у8и Місяць тому

      можно проще сделать: $result->data_seek($i);
      $row = $result->fetch_assoc();
      echo 'ID: ' . $row ['id_user'] . ' ' ;
      echo 'Name: ' . $row ['name'] . '' ;

  • @Jack66148
    @Jack66148 10 місяців тому

    Лучший))

  • @user-ew9nr8rf1u
    @user-ew9nr8rf1u 2 роки тому +3

    как подключится к localhost, как у вас в видео? заступорилась на этом моменте (8:32). не понимаю как именно открыть нужный localhost(

  • @lhr_arms
    @lhr_arms 2 роки тому

    Класс 👍👍👍

  • @intruder70
    @intruder70 2 роки тому +1

    как включить вывод ошибок?
    указал неверный пароль, браузер показывает просто белый фон. я бы хотел чтобы вывод ошибок был даже когда запрашиваю не существующий id в GET запросе

  • @maksimavto2012
    @maksimavto2012 3 роки тому +2

    Да, перерыв был действительно долгим. Заждались... Спасибо за видео. Все интересные и с удовольствием смотрю. Но вот вопрос. Какой может быть mysqli в 2020 году ? (почти в 2021-ом). Уже PHP 8 вышел... Где PDO ?

    • @andrievskii
      @andrievskii  3 роки тому +1

      Будет в следующем уроке или через урок

    • @АлексейБорис-я2н
      @АлексейБорис-я2н 3 роки тому

      @@andrievskii с возвращением))))

    • @retroteron
      @retroteron 3 роки тому +1

      @@andrievskii Просто совет, не нашел видео по отладчику, а так бы отлично было бы вообще в первых уроках рассказывать, как им пользоваться и искать ошибки самостоятельно, какой бы язык не изучался с отладчиком можно понять, что в коде происходит и где всё крашится или как работает чужой код

  • @Juffin_HoK
    @Juffin_HoK 2 роки тому

    Спасибо!

  • @supermel531
    @supermel531 2 роки тому +2

    Объясните пожалуйста зачем нужна строчка
    $result->data_seek($i);

    • @Kenny_buzz
      @Kenny_buzz 2 роки тому +1

      Ну это как проверка перед выводом, перемещает указатель результата на выбранную строку

  • @Kenny_buzz
    @Kenny_buzz 2 роки тому +1

    Спасибо!
    Но почему у меня при выводе двух колонок выдаёт ошибку: Trying to access array offset on value of type null in. По одной колонке нормально выводит, а если пытаюсь вывести id и names, первое имя теряется, а 3 id пустой + ошибка?! Я так подозреваю это из-за более новой версии пхп в амппс?

    • @Kenny_buzz
      @Kenny_buzz 2 роки тому +17

      Пофиксил, додумался. Перед каждым выводом поидее нужно выводить проверку и всё работает:
      $result->data_seek($i);
      echo 'ID: ' . $result->fetch_assoc()['id'] . ' ';
      $result->data_seek($i);
      echo 'Name: ' . $result->fetch_assoc()['name'] . '';

    • @arcad1270
      @arcad1270 Рік тому

      @@Kenny_buzz спасибо, что решение написал, с этой же фичей столкнулся

    • @Andrey.Gerasimov
      @Andrey.Gerasimov Рік тому

      @@Kenny_buzz Спасибо, у меня уж мозг закипел))

  • @supermel531
    @supermel531 2 роки тому

    Спасибо

  • @smoler-9865
    @smoler-9865 2 роки тому +1

    У меня выдает ошибку Error result, делал все как говорил, что делать?

    • @andrievskii
      @andrievskii  2 роки тому

      отслеживать откуда ошибка, делать дебагинг

    • @feterson2557
      @feterson2557 Рік тому

      Скорее всего ты подключился в setting.php к другой базе данных проверь есть ли у тебя в подключенной БД таблица users

  • @rusfungame
    @rusfungame 3 роки тому +2

    Ждем js react

  • @youpartnerwsp2278
    @youpartnerwsp2278 Місяць тому

    Пишет ошибку Fatal error: Uncaught Error: Class "mysqli" not found

  • @kazakovsergey58
    @kazakovsergey58 3 роки тому +1

    Привет !) 24-18 , ответ какой то не тот , под id 1 должен быть Dimon , т.е. все съехало . Учусь на ваших видео и сам не могу понять что не так написано и почему съезжает.

    • @andrievskii
      @andrievskii  3 роки тому

      Да вижу, странно что сразу не заметил))
      Попробуйте в тексте, вместо 'ID' написать 'Номер пользователя'

    • @kazakovsergey58
      @kazakovsergey58 3 роки тому +3

      @@andrievskii fetch_assoc сдвигает позицию на 1 , у многих такая проблема (нагуглил) , решил через цикл while . Почитал другие решения , но так как только учусь не понял , что там понаписано . Было бы интересно разобрать этот вопрос в одном из следующих уроков . while ($row = mysqli_fetch_assoc($result)){} и из row уже все вынимал.

    • @retroteron
      @retroteron 3 роки тому +3

      Еще как вариант явно указать строчку, перед каждым выводом в цикле.
      for ($i = 0; $i < $result->num_rows; $i++) {
      $result->data_seek($i); // метод data_seek() обращается к строке
      echo "name: " . $result->fetch_assoc()["name"] . " "; // метод fetch_assoc() обращается к столбцу(ячейке)
      $result->data_seek($i);
      echo "ID_user: " . $result->fetch_assoc()["id_user"] . "";

    • @thewebpractitioner7498
      @thewebpractitioner7498 2 роки тому +1

      foreach ($result as $value){
      echo 'ID:' . $value['id'] . ''
      . 'Ism:' . $value['name'] . ''
      . 'Yosh:' . $value['age'] . ''
      . 'Login:' . $value['login'] . '';
      }

    • @thewebpractitioner7498
      @thewebpractitioner7498 2 роки тому +1

      if ($result->num_rows > 0) {

      while($row = $result->fetch_assoc()) {
      echo "ID: " . $row["id"]. " Ism: "
      . $row["name"]. " Yoshi: "
      . $row["age"]. " Login:"
      . $row["login"] . "";
      }
      } else {
      echo "Ma'lumot topilmadi!";
      }

  • @maria-juliajarv6451
    @maria-juliajarv6451 7 місяців тому +1

    можно ли использовать такой способ если юзеров будет 100к+?

    • @andrievskii
      @andrievskii  7 місяців тому

      Используйте PDO для работы с БД, там далее по курсу это будет!

  • @JohnSmith-bl7rv
    @JohnSmith-bl7rv 2 роки тому

    вы путаете когда говорите база данных а выбираете таблицу, получается каша

  • @user-pz3mt1wz4t
    @user-pz3mt1wz4t Рік тому +1

    у меня выдаёт ошибку Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'first'@'localhost' (using password: YES) in D:\it prgms\Ampps\www\index.php on line 4
    error connection
    хотя пароль правильный

  • @jezie1663
    @jezie1663 Рік тому

    Есть ли ответы на домашнее задание? Хочу глянуть решение

    • @andrievskii
      @andrievskii  Рік тому

      Только от пользователей, если они выкладывали в комментарии. Я ответы не писал

  • @percoxxet
    @percoxxet 2 роки тому

  • @JohnSmith-bl7rv
    @JohnSmith-bl7rv 2 роки тому

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

  • @dogvscatfunny9956
    @dogvscatfunny9956 Рік тому +1

    Плохо пишет код автор, всё запутывает код грязный сложный и не нужный.

    • @andrievskii
      @andrievskii  Рік тому

      Просто не смотри)) Не трать зря время))

    • @dogvscatfunny9956
      @dogvscatfunny9956 Рік тому

      @@andrievskii Это я и сделала)

  • @svoloche_
    @svoloche_ 2 роки тому +2

    бля чел, я надеюсь ты когда нибудь научишься полносью излагать свои мысли. И я щас про дз...

  • @faizulla5838
    @faizulla5838 3 роки тому +1

    смотрел и был разочарован, чел украл у меня 25 мин времени.
    почему? потомучто на следующем уроке он скажет так не надо писать, пишем на ПДО .... тогда какого Х ты этому учишь? неужто трудно сразу дать так как должно быть?
    ..... ну да конечно, нужны лайки и 25 мин чтобы ютюб оплотил....дерьмо все это

    • @Niazyan
      @Niazyan 2 роки тому +1

      Когда будете рефакторить легаси код (а такой работы много), будете понимать что это за mysqli и на что его заменить. Всего то 25 минут, что бы знать.

  • @abdulloakramov7941
    @abdulloakramov7941 2 роки тому

    Большое спасибо за уроки

  • @Akril_
    @Akril_ Рік тому

    что делать если ошибка выходит "fatal error: uncaught error: class "mysqli" not found in..."

    • @andrievskii
      @andrievskii  Рік тому

      Если вы получаете ошибку "Fatal error: Uncaught Error: Class 'mysqli' not found in...", это указывает на то, что расширение mysqli не активировано или не установлено в вашем PHP-окружении.

    • @olegdoc3519
      @olegdoc3519 Рік тому

      @@andrievskii Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'roo'@'localhost' (using password: YES) in C:\OSPanel\domains\test-mysite\index.php:8 Stack trace: #0 C:\OSPanel\domains\test-mysite\index.php(8): mysqli->__construct() #1 {main} thrown in C:\OSPanel\domains\test-mysite\index.php on line 8 У меня такой код ошибки , не пробрасывает ошибку $connection = new mysqli($host, $user, $password, $data);
      if ($connection->connect_errno) die('Error connection');
      OPen server use
      HELP Братья разрабі

    • @youpartnerwsp2278
      @youpartnerwsp2278 Місяць тому

      Как это настроить?