Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Ошибка Mysql в парсере - Как решить ?

Ошибка Mysql в парсере - Как решить ?


     12.07.2023    Общие вопросы, Общие вопросы по PHP, MySQL    278

вопрос
Всем привет, стоит SelfParser.
До установки emoji рейтинга работал, после ругается на столбец 'rating_emoji' в таблице dle_post_extras, если убрать rating_emoji из dle_post_extras то парсер работает как надо.
Помогите решить, отблагодарю.

Deprecated: strtoupper(): Passing null to parameter #1 ($string) of type string is deprecated in /home/muzlada/htdocs/**.net/**/lib/phpQuery-onefile.php on line 287
SELECT `dle_post`.* FROM `dle_post` WHERE title = 'Зара Гучаева - Красива... ' LIMIT 1 -- keep-cache

Deprecated: PDOStatement::fetchAll(): Passing null to parameter #1 ($mode) of type int is deprecated in /home/muzlada/htdocs/muzlada.net/mp3uks/lib/rb.php on line 723
resultset: 0 rows
INSERT INTO `dle_post` ( id, `autor`,`date`,`title`,`alt_name`,`short_story`,`full_story`,`category`,`xfields`,`keywords`,`approve` ) VALUES ( NULL, 'Kotia','2023-07-11 09:33:50','Зара Гучаева - Красива... ','Zara-Guchaeva-Krasivaya','','',6,'artist|Зара Гучаева||track|К... ','Красивая скачать, Зар�... ',1 )
INSERT INTO dle_post_extras (news_id, allow_rate) VALUES ('138180', '1')
An error occurred: SQLSTATE[HY000]: General error: 1364 Field 'rating_emoji' doesn't have a default value

Fatal error: Uncaught [HY000] - SQLSTATE[HY000]: General error: 1364 Field 'rating_emoji' doesn't have a default value trace: #0

запрос dle extras имеет такой вид:
// dle extras
$extras = R::exec( "INSERT INTO " . $db["db_prefix"] . "post_extras (news_id, allow_rate) VALUES ('{$news_id}', '{$dle_config["allow_rate"]}')" );

if(!empty($images)){

// загружаем картинки
$post = R::dispense( $db["db_prefix"] . 'images' );
$post->images = $images;
$post->news_id = $news_id;
$post->author = $dle_config["author"];
$post->date = time();

R::store($post);
}

Сам файл - dle.zip [4.46 Kb] (cкачиваний: 4)

Ответа пока нет


5 комментариев

TeraMoune
Эксперт

TeraMoune - 12 июля 2023 04:59 -

Нужно выяснить какое значение по умолчанию для этого поля и указать в парсере явно установку значения. Даже если это пустота.

Например:

INSERT INTO dle_post_extras (news_id, allow_rate, rating_emoji) VALUES ('138180', '1', '')

EvgeNR3
Юзер

EvgeNR3 - 12 июля 2023 09:51 -

По умолчанию значение - Нет
Null - Нет
Тип - varchar(255)

TeraMoune
Эксперт

TeraMoune - 12 июля 2023 10:30 -

Я имел ввиду из запроса посмотреть какое значение поступает в после при добавлении новости. Значение по умолчанию может быть заложено в модуле emoji рейтинга. Выполните создание новости и гляньте действительно ли в запросе INSERT на новую новость для rating_emoji пусто.

А так для полей типа varchar можно определить значение по умолчанию, поменяв тип на (как определено) и оставить поле пустым.

EvgeNR3
Юзер

EvgeNR3 - 12 июля 2023 10:01 -

Запрос INSERT INTO dle_post_extras (news_id, allow_rate, rating_emoji) VALUES ('138180', '1', '') выполнился

EvgeNR3
Юзер

EvgeNR3 - 12 июля 2023 10:05 -

Благодарю, дошло, подправил , я VALUES не указывал, поставил ' ', и заработал скрипт.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх