• Проблема миграции базы данных с mysql 8 на mariaDB 10?

    ipatiev
    @ipatiev
    А какие там конкретно расхождения в create table и instert-ах?

    Я сколько раз переносил с одной на другую - никогда из-за синтаксиса проблем не было.
    Написано
  • Ошибка импорта и экспорта excel файла, работая с бд MySQL, как исправить?

    ipatiev
    @ipatiev
    Там и импорт есть. Хотя непонятно, что именно нужно автору. Если только удалить все строки в таблице и залить новые из экселя.
    Написано
  • Ошибка импорта и экспорта excel файла, работая с бд MySQL, как исправить?

    ipatiev
    @ipatiev
    alexalexes, дело не в кошках, а в правах на OUTFILE.
    А автору действительно нужен муадмин, который наверняка в том же копеечном хостинге на рег ру предоставляется из коробки.
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    пул всех открытых соединений

    Вы опять путаете понятия. И если бы в первый раз.
    Никаких "соединений", и тем более "пула" тут нет. Соединение, как мы уже давно выяснили, тут одно.
    Речь идет о выполняемых запросах в рамках этого одного соединения.
    При этом "пула" запросов тут тоже нет - они выполняются тупо один за другим. Может быть только очередь результатов мультизапроса.

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

    "не беспокоиться о получении ответа" и " I'm sure there is no error"- это детский лепет и профнепригодность. Если вам не важно, выполнился ли запрос, то его вообще выполнять не нужно было.
    Но если программист запрос все-таки выполняет, то он должен убедиться, что не ошибок не было.

    Но это не самый простой патч, и потенциально он может привести к росту потребления памяти и не только. Поэтому вряд ли его когда-то реализуют.

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

    Десятки лет тысячи программистов спокойно используют эту логику. И надо быть конечно полнейшим неадекватом, чтобы считать их всех дебилами, а себя одного - гением, который знает, как лучше. Но постоянно путается в словах.
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Очистка/получение результатов нужны при использовании небуферизованных SELECT запросов.
    Но это СОВСЕМ другая тема, к исходной не имеющая никакого отношения.

    При этом СТАТУС запроса, о котором исходно шла речь, в любом случае приходит СРАЗУ.
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Нельзя открывать новый, не закрыв старый, сделав unset() переменной или прочитав его результаты, и всё тут.

    Новые открытия сыпятся как из рога изобилия :)

    Ну и я конечно дурак, не проверил кейс с одиночными подготовленными запросами без очистки переменных.

    Покажите код этой "проверки". Вы опять какой-то бред несёте.
    Никакая очистка, разумеется, не нужна. Проверяется это за 30 секунд.
    Написано
  • Как исправить ошибку билда проекта на composer?

    ipatiev
    @ipatiev
    Неужели кто-то на этой картинке хоть что-то разглядел?
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Akina, этот гений уже скоро с месяц не может взять в толк, что выполняя несколько запросов, надо прочитать их результаты перед тем как двигаться дальше. Что не только логично просто с точки зрения здравого смысла, но и черным по белому написано в документации MySQL. Что может быть проще, чем простой алгоритм: выполнил мультизапрос? Получи результаты всех последующих, и можешь двигаться дальше.
    То есть "поправить" он хочет абсолютно нормальное поведение.

    Вообще, мне кажется, что его нерегулярные подходы к этому вопросу имеют довольно банальное объяснение - он к нему возвращается сильно заложив за воротник. Настолько нелепыми и бессвязными выглядят его претензии.

    Вот и сейчас, вместо того, чтобы нормально прочитать все результаты ПОСЛЕ выполнения конкретного мультизапроса, он зачем-то попытался сделать "патч", который делал бы это ПЕРЕД выполнением следующего. А точнее - вообще любого, просто на всякий случай - вдруг перед ним был мультизапрос.
    "Где логика, где разум?"

    При этом он сам не понимает, что именно он хочет исправить. Ему показали два варианта: есть нормальный, когда программист должен сам прочитать результаты всех запросов, и есть кривой, когда результаты можно выкинуть, не читая. И вот этот второй вариант он зачем-то хочет "реализовать". То есть "патч", который делает то, что и так есть.

    Вообще я стал замечать, что когнитивные способности у многих ровесников ухудшаются. На Stack Overflow есть чувак с рейтингом под миллион, и сейчас он с трудом берет в толк простейшие вопросы :(
    И это, в общем, всех нас ждёт.
    Но тому хотя бы пока хватает соображения понимать, что дело в нём, и он не начинает выступать на тему что все вокруг идиоты. Потому что он и раньше был адекватным. А здесь всё осложняется синдромом непризнанного гения.
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Даже интересно, после объяснений Камиля дойдет или всё равно нет?
    С одной стороны, он, конечно, разжевал в мелкую кашицу.
    С другой стороны, с такими представлениями о языках программирования "объект, на который нет ссылок, уничтожается - хаха, вот умора, кто такую глупость мог сочинить?" осилить его объяснения будет трудно
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    выражение "забронзоветь" не имеет отношения к PDO. Это всего лишь характеристика человека, который верит в собственную непогрешимость, а любые нестыковки объясняет непонятливостью собеседников, "багами" в языке или глупостью его разработчиков.

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

    поведение от версии к версии не зависит, только от настроек

    выкладки - это не код, а выводы, расчеты, умозаключения. Они у вас неправильные. Вы смотрите в документацию (правильную), на логи (очевидные) а выводы делаете неправильные. Про это даже анекдот есть:
    Опыт №1: берем таракана, отрываем две ноги, свистим, таракан убегает.
    Опыт №2: отрываем таракану четыре ноги, свистим, таракан убегает.
    Опыт №3: отрываем таракану все ноги, свистим, таракан на месте.
    Вывод: таракан без ног не слышит
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Akina, чтобы у человека наступило, этот человек должен сомневаться в первую очередь сам в себе, проверять свои выкладки. Так работает научный подход. А у нашего героя ровно наоборот - кругом дураки, а он непогрешимый гений в белом пальто :)
    Вот и сейчас: у него есть все данные, чтобы разглядеть элементарное объяснение наблюдаемого эффекта, когда поведение как раз должно отличаться. Причем эффекта стороннего, который наблюдается очень редко. Потому что все люди выполняют запросы нормально, как описано в мануалах.
    Но чванство убивает мозг. Чувак забронзовел. А когда ты перестаешь сомневаться в себе и свои проблемы начинаешь списывать либо на тупость собеседников, либо на несуществующие "баги" в языке - тут уже голова перестаёт работать...
    Написано
  • Присвоить значение массива переменной?

    ipatiev
    @ipatiev Куратор тега PHP
    Как мне по другому идентифицировать/обратиться к конкретному имени?

    ЗАЧЕМ? Что вы по этому имени хотите получить? Узнать, есть ли на него дата, или нет?
    Написано
  • Присвоить значение массива переменной?

    ipatiev
    @ipatiev Куратор тега PHP
    Ну так Иванов Иван Иванович и есть ключ. Почему нельзя по нему обратиться?
    И как вы вообще будете знать, какой ключ ставить - а или б?
    или вам надо для любой даты обоих получить? Тогда тем более переменные не подходят.
    Написано
  • Экранирование sql запросов, достаточно ли функции?

    ipatiev
    @ipatiev Куратор тега PHP
    Рука-лицо. Комментарий из серии "угадал все буквы, не угадал слово".
    Написано
  • Присвоить значение массива переменной?

    ipatiev
    @ipatiev Куратор тега PHP
    во-первых, не переменным, а элементам массива. Перечисляемые значения пишут в массив, а не в отдельные переменные
    во-вторых, я правильно понимаю, что вам надо элементарно получить уникальные значения из этих массивов?
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Вот он и он пишет, что чтобы получить ошибку, результат надо получить. А не выкидывать, как это делаете вы.
    Давайте уж я вам разжую, чтобы вы больше не отнимали время у занятых людей.
    ваши инсерты работают потому что в режиме эмуляции
    почему происходит ошибка, вам разжевали на гитхабе - потому что вы не запросили результаты своих запросов, и они остались ждать на сервере. чтобы ошибки не было, эти результаты надо либо получить, либо выкинуть (при этом смысл cделать запрос, но не проверять его результат от меня ускользает).
    при этом если результат не запросить, то ошибка и не будет в нем отражена.
    совершенно очевидное поведение, когда локальная переменная уничтожается по завершении работы функции (которое пытаетесь формулировать через какой-то детский лепет про "параллельное выполнение" ) как раз это и делает: по завершении работы функции всем её переменным делается unset. чем и объясняется все загадочное волшебство, происходящее в ваших примерах.
    при этом куда проще выполнять запросы по одному: тогда не нужно проверять результат каждого вручную, плюс не зависеть от режима эмуляции.
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    Боже, я и подумать не мог, что вы реально побежите писать нелепый баг-репорт в РНР. Судя по всему, именно его вы называете словом stackowerflow. И разумеется, в своей манере переврали сказанное там, причем с точностью до наоборот. Там написано не будет отражено, а вы мне толкаете что будет.
    Написано
  • Стоит ли хранить изображения base64 в БД?

    ipatiev
    @ipatiev
    rakas, два вопроса
    1. вас посетители сайта никогда не били за такой адов трафик?
    2. а почему так много? Там карта звёздного неба в разрешении 144 мегапикселя?
    Написано
  • Почему возникает SQLSTATE[HY000]: General error: 2014 при прямой вставке данных в MySQL таблицы через DBAL?

    ipatiev
    @ipatiev Куратор тега PHP
    В случае PDO SQL запроса не через prepare() - вроде закрывает.

    Ну то есть получать запрошенные данные в случае PDO SQL запроса как бы и не надо. Выполнили, и сразу можно закрывать. Всё логично.
    Написано
  • Стоит ли хранить изображения base64 в БД?

    ipatiev
    @ipatiev
    2-4 МБ - это все картинки или одна?
    Написано