PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE -22007 - Invalid datetime format: 1366 Incorrect string value

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Версия от 21:57, 8 мая 2020; Admin iph (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Доступная цена

PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE -22007 - Invalid datetime format: 1366 Incorrect string value

Ошибка при работе скрипта:

PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: '\xF0\x9F\x92\xA2' for column `admin_1`.`sr_users`.`f_name` at row 1' in /home/admin/web/site.site/public_html/api/mysql.php:160
Stack trace:
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1364 Field 'u_id' doesn't have a default value' in /home/admin/web/site.site/public_html/api/mysql.php:91


Решение - отключить strict режим для mysql/mariadb сервера
Отключить его можно через конфиг my.cnf (Для Ubuntu - /etc/mysql/my.cnf):

# vi /etc/mysql/my.cnf
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

и перезагрузить mysql сервер:

# systemctl restart mysql