PHP, PDO Подготовленные запросы, EXECUTE vs PREPARE Statement

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 34

  • @АрсенийПаршуков-к4я
    @АрсенийПаршуков-к4я ปีที่แล้ว

    Спасибо большое! Пересмотрю ещё ни раз, но и с первого раза сложилось понимание, как это работает и для чего нужно. Отдельное спасибо за нюансы, которые вы проговариваете, это очень ценная информация!

  • @КоростишівЛіс1
    @КоростишівЛіс1 ปีที่แล้ว

    Спасибо, ты открыл мне глаза , на многие нюансы знаю ответы теперь. Лайк за труд

  • @denislukanin347
    @denislukanin347 2 ปีที่แล้ว +4

    очень годный плейлист! Спасибо!

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว +2

      это еще не оконченный плейлист
      будет еще минимум 2 видео в этом плейлисте

  • @bettingismylife5617
    @bettingismylife5617 2 ปีที่แล้ว +2

    Спасибо огромное, столько нового узнал из видео.

  • @غريب-ن2ث
    @غريب-ن2ث 2 ปีที่แล้ว +1

    Спасибо большое!)

  • @andreyblokhin6195
    @andreyblokhin6195 2 ปีที่แล้ว

    Видео классные. Жаль, что комментов мало.

  • @topalek
    @topalek 2 ปีที่แล้ว

    Евгений, спасибо большое за видео!!!

  • @timqa
    @timqa 2 ปีที่แล้ว

    лайк, не глядя ставлю уже) знаю, что будет интересно)

  • @МаксимБурый-с7ч
    @МаксимБурый-с7ч 2 ปีที่แล้ว

    Отлично! Всё понятно, даже объяснили как работаю кишки). Только в конце не понятно, нужно новый видос про свинью и как это может отразиться на нас, По буквам буквально

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว +1

      плейлист не закончен
      что касается свиньи рассказывать о ней отдельно не имеет смысла, просто это некая микро оптимизация когда хочется сделать запрос по execute, но этого не получается сделать так как эмуляция отключена и у pdo остается только один метод exec, в котором нет возможности получить результат, я обычно такую проблему решаю с помощью двух подключений, одно подключение у которого эмуляция отключена (оно по умолчанию), а если надо выполнить методом execute то использую другое подключение, но справедливости ради такое встречается крайне редко и это микро оптимизация которая далеко не всегда стоит затраченного времени.
      плейлист по pdo планирую продолжать

    • @МаксимБурый-с7ч
      @МаксимБурый-с7ч 2 ปีที่แล้ว

      @@kuvshinovee Есть у меня такой вопрос. В таблице у меня 366 столбца. В пдо название таблицы не сделать через bind., только через переменную. Тойсть нужно биндить все 366 столбца или пускать через цикл по одному столбцу 366 раз и в переменную вставлять название столбца что не безопасно и будет грузить сервер неплохо

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว

      @@МаксимБурый-с7ч не совсем понял вопрос.
      1. у вас есть таблица у которой 366 колонок ?
      2. вы хотите название этой таблицы задавать через bind ? так естественно нельзя, нафига такое ?
      3. насчет нагрузки сервера я думаю это преувиличено это не сильно "загрузит сервер", но если вы этого боитесь тут есть собственно два пути:
      1. Выбирать только те колонки что запросил пользователь (кстати говоря не самая лучшая стратегия с точки зрения кэширования)
      2. Выбирать все 366 столбцов и отдавать во фронт их
      3. Выбирать все 366 столбцов и потом из этого результата выбирать уже только те столбцы что запросил пользователь
      неплохо знать в этих столбцах много ли информации содержится? чтобы размер ответа не превышал 100кбайт

    • @МаксимБурый-с7ч
      @МаксимБурый-с7ч 2 ปีที่แล้ว

      @@kuvshinovee Да есть таблица у которой 366 колонок. Я хотел название одной колонки одной задать через bind в итерации цикла, но нельзя названия так делать, можно только через переменную. В запросе может быть разное количество колонок быть вплоть до 366 штук. У каждой колонки значение - цифра 8 знаков.

  • @ГробницаШу-л2г
    @ГробницаШу-л2г ปีที่แล้ว +1

    Крутяцкий канал. Жаль что это крайнее видео( Прям грустно

    • @kuvshinovee
      @kuvshinovee  ปีที่แล้ว +1

      Этот плейлист будет продолжен ещё 2 видео минимум в нем будет

    • @ГробницаШу-л2г
      @ГробницаШу-л2г ปีที่แล้ว

      @@kuvshinovee Слышал об этом в прошлом ролике. Думал ты уже забил на него

  • @ninja095
    @ninja095 2 ปีที่แล้ว +1

    спасибо за проделанную работу. Но мне тяжело это переваривать. Много терминологии, которая для начинающих немного сложновата. Хотя я понимаю, что скорее всего видео далеко не для начинающих. Но для своего уровня я не могу найти подходящие уроки, где материал подавался бы как для 6-8 летних детей)))
    А так, конечно же урок крутой, и автор видно с огромнейшим опытом. Лайк!

  • @иванжук-ц2н
    @иванжук-ц2н 2 ปีที่แล้ว

    Годно давай про ооп или про циклы масивы многим будет интересно

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว +2

      про ооп расказывать что такое private, protected, extend и тд есть в документации, про паттерны тоже есть хорошие материалы refactoring.guru/
      циклы, массивы это все хорошо описано в стандартной документации
      я стараюсь рассказывать что то о чем мало написано, но важно знать разработчику.

  • @shipunoffA
    @shipunoffA 4 หลายเดือนก่อน

    С ( PDO::ATTR_EMULATE_PREPARES => false ) дольше выполнение запроса? или самого пхп кода?

  • @Neto-boys
    @Neto-boys หลายเดือนก่อน

    А где можно найти продолжение?

  • @kcenot8kcenot755
    @kcenot8kcenot755 2 ปีที่แล้ว

    А есть такие нюанси с mysqli ??? и какие?? спасибо за видео)

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว

      хороший вопрос, хоть я с mysqli мало работал.
      prepare скорей всего использует встроенный механизм PREPARE так как там просто нет эмуляции в опциях www.php.net/manual/en/mysqli.options.php
      query скорей всего не синтаксический сахар для prepare так как содержит еще аргументы которых нет в prepare, но это лучше проверить, не верить мне или документации :)
      возможно тут существуют другие особенности, надо делать отдельный цикл видео по ней (врятли это будет в ближайшее время)
      планы по видео github.com/smpl/youtube/issues

  • @shipunoffA
    @shipunoffA 4 หลายเดือนก่อน

    PDO::ATTR_EMULATE_PREPARES => false ( PGT: 0.0094 сек. ), PDO::ATTR_EMULATE_PREPARES => true( PGT: 0.0018 сек. ), почему такое происходит? наверное лучше включить эмуляцию true?

  • @Андрей-ф3ъ4к
    @Андрей-ф3ъ4к 2 ปีที่แล้ว

    Евгений, всё, кина не будет? ((( Хотелось бы вывести для себя, как начинающего php-разработчика, универсальный скрипт подключения.

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว

      кина будет, в этом плейлисте еще планирую сделать минимум два видео
      1. Все что связано с ответами от базы данных и PDOStatment
      2. О транзакциях и изоляции.
      это минимум что планирую добавить к плейлисту, просто сейчас нет времени сделать эти видео
      универсального скрипта не существует, о опциях при создание подключения я уже говорил, не вижу смысла на видео читать документацию по каждой опции, это можно сделать и без видео, я лишь показал самые неожиданные вещи.

    • @Андрей-ф3ъ4к
      @Андрей-ф3ъ4к 2 ปีที่แล้ว

      @@kuvshinovee Благодарю. буду ждать )

  • @adilkumashev8964
    @adilkumashev8964 2 ปีที่แล้ว

    вышло крутое видео, но куда делся автор?(

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว +1

      занят работой и личными делами, продолжение этого будет плейлиста по мере освобождения времени

  • @TimmertPlay
    @TimmertPlay 2 ปีที่แล้ว

    +

  • @qwerty-qr3ku
    @qwerty-qr3ku 2 ปีที่แล้ว

    Лапшекод

    • @kuvshinovee
      @kuvshinovee  2 ปีที่แล้ว

      есть такое, но цель тут продемонстрировать execute и prepare с минимум абстракций чтобы не сбивать людей чудесными паттернами и различными способами делегирования вызова

    • @ChelovekPeople
      @ChelovekPeople 2 ปีที่แล้ว

      Отвергаешь, предлагай. Запишите видео поверх этого с информацией как улучшить. Глядишь и профиссианолизм самообучающихся вырастет.