我需要在blob类型的列中插入一个多行文本数据。
我的table是:
CREATE TABLE `messages` (
`id` int(11) NOT NULL,
`msg` longblob NOT NULL
);
另外,我将此文本发布到“msg”列:
"This
is
Multiline
Text"
插入部分为;
$mydata->mesaj = "This
is
Multiline
Text";
$sql = "insert into messages(msg) values (:mesaj)";
$stmt = $this->dbConnection->prepare($sql);
$stmt->bindParam(':mesaj', $mydata->mesaj, PDO::PARAM_STR); /* Is it true for use PARAM_STR for longBlob type? */
try {
$stmt->execute();
} catch (PDOException $e) {
//..blah error blah
}
它确实插入不带换行符的文本。当我试图打开blob记录时,它显示:
这是多行文本
我尝试将\n替换为\n。不幸的是,这也是一次失败的尝试。我需要一个主意。我需要保存多行文字。谢谢你,丹尼斯
1条答案
按热度按时间yqhsw0fo1#
我认为问题在于你用什么来显示文本。在我的带有php7和mysql5.6的服务器上,我创建了您的表,然后运行以下代码(基本上与您的代码相同,但对变量名做了一些小的更改):
我得到的结果是(如预期的那样):