Mysql не хранит данные столбца BLOB

У меня странная проблема, которую я не могу понять, любая помощь будет оценена!

Проблема в том, что я пытаюсь сохранить объект в базе данных mysql, когда я выполняю команду вставки, которую я успешно запускаю, но когда я проверяю таблицу, все столбцы имеют новые вставленные данные, ожидают столбец с типом данных Blob.

вот таблица

CREATE TABLE `uc_opportunities` (
`post_id` int(11) NOT NULL AUTO_INCREMENT,
`org_id` int(11) DEFAULT NULL,
`dateTime` int(11) NOT NULL,
`subject` varchar(200) NOT NULL,
`text` varchar(2000) DEFAULT NULL,
`zipcode` varchar(10) NOT NULL,
`location` varchar(100) DEFAULT NULL,
`schedule` blob NOT NULL,
PRIMARY KEY (`post_id`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8;

и вот функция вставки:

public function addOpportunity($org_id)
{
global $mysqli,$emailActivation,$websiteUrl,$db_table_prefix; //

echo "inside add opportunity<br>";
var_dump($this->schedule);

$stmt = $mysqli->prepare("INSERT INTO ".$db_table_prefix."opportunities (
org_id,
dateTime,
subject,
text,
zipcode,
schedule
)
VALUES (
?,
?,
?,
?,
?,
?
)");

$schedule_serialized = serialize($this->schedule);
$stmt->bind_param("iissib", $org_id, $this->dateTime, $this->subject,$this->postText, $this->zipcode, $schedule_serialized );
$result = $stmt->execute();

echo "execution result ".$result."<br>";
$inserted_id = $mysqli->insert_id;
$stmt->close();

$this->post_id = $inserted_id;

}

Все столбцы кроме график вставлены, я проверяю, правильно ли функция вставки получает расписание, используя var_dump ($ this-> schedule), и это правильно. Как вы думаете, может быть проблема?

Спасибо

1

Решение

Пожалуйста, ознакомьтесь с документацией mysqli в отношении сохранения данных BLOB-объектов и конфигурации mysql для max_allowed_packet. Возможно, это может быть вашей проблемой, так как я не знаю, насколько велики ваши сериализованные данные:

php.net mysqli

0

Другие решения

Прежде всего, измените ваши данные, если это изображение, аудио, документ и т. д. в двоичный файл и запланируйте столбец в longBlob, затем выполните команду вставки. Иногда из-за увеличения двоичных данных вставка не работает. Так что попробуйте

0

BLOB-объект используется для хранения больших двоичных объектов, таких как изображения, файлы, документы и т. д., и перед сохранением их в файл необходимо преобразовать их в двоичную форму.

-1
По вопросам рекламы [email protected]