Просмотр темы
в PHP 7.4 нельзя вставлять пустое значение в `id` как раньше
|
|
Vveb--ws |
Опубликовано 08.09.2023 23:38
|
Опытный пользователь Сообщений: 379 Зарегистрирован: 25.11.2010 14:16 |
Приветствую! в PHP 7.4 появилась ошибка: Incorrect integer value: '' for column `vvebws`.`e9u2wmg47_times`.`id` at row 1 $result = dbquery("INSERT INTO ".$db_prefix."times `id`как обычно - KEY PRIMARY AUTOINCREMENT и определяется автоматически по очереди. это норм. но в некоторых плагинах (быдлокодеров или old-кодеров?) я встречал именно такое написание, когда в `id`вставляют ''. раньше такое работало. теперь надо или отключать вывод ошибок или переписывать всё старьё. кто сталкивался? PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи vk.com/phpfusion Создаю интернет-магазины и блоги, лендинги, форумы. Telegram: t.me/Vova_Kazakov |
|
|
Polarfox |
Опубликовано 23.09.2023 08:10
|
Администратор Разработчики Группа поддержки Сообщений: 3387 Зарегистрирован: 20.08.2010 14:03 |
Vveb--ws, я в принципе не вижу смысла ставить значение, тем более что тут пустая строка вместо цифры, еще и кавычки везде разные https://dev.mysql...ement.html тут сказано что нужен именно 0 (либо еще пара случаев, но вообще 0) все как обычно, делай как у них сказано и все будет нормально Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Vveb--ws |
Опубликовано 05.12.2023 02:57
|
Опытный пользователь Сообщений: 379 Зарегистрирован: 25.11.2010 14:16 |
обычно при создании таблицы БД так `id` int(32) UNSIGNED NOT NULL AUTO_INCREMENT, и это работало всегда. но не в PHP7 ! проблема не в том что ты не видишь, а в том что везде в коде плагинов именно так, когда в `id`вставляют ''. теперь надо переписывать всё старьё. это проблема!!! я вот ещё раз столкнулся! Polarfox написал: https://dev.mysql...ement.html тут сказано что нужен именно 0 (либо еще пара случаев, но вообще 0) да, можно и так как там написано. INSERT INTO animals (id, name) VALUES(0, 'groundhog'); INSERT INTO animals (id, name) VALUES(NULL, 'squirrel'); а можно удалить id: INSERT INTO animals (name) VALUES('squirrel');
PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи vk.com/phpfusion Создаю интернет-магазины и блоги, лендинги, форумы. Telegram: t.me/Vova_Kazakov |
|
|
Polarfox |
Опубликовано 11.12.2023 10:56
|
Администратор Разработчики Группа поддержки Сообщений: 3387 Зарегистрирован: 20.08.2010 14:03 |
плагины никогда не были эталоном, либо правишь их, либо на лету правишь запросы (я бы поправил плагины просто) удалить id = No value was specified for the AUTO_INCREMENT column, so MySQL assigned sequence numbers automatically про это там тоже написано Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Vveb--ws |
Опубликовано 19.12.2023 03:32
|
Опытный пользователь Сообщений: 379 Зарегистрирован: 25.11.2010 14:16 |
а как? VALUES ( '', можно через автозамену INSERT INTO ".$db_prefix."*** ( `id`, любое название таблицы и `id` я бы сделал чтобы старые плагины работали у всех, кто будет пользоваться моей сборкой каждый MySQL запрос strpos() и substr() обрабатывать - замедлит CMS PHP-Fusion 7 Bogatyr - бесплатная мультиязычная CMS для блога, форума, фотогалереи vk.com/phpfusion Создаю интернет-магазины и блоги, лендинги, форумы. Telegram: t.me/Vova_Kazakov |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |