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
Перейти к:навигация, поиск
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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