如何将其写入我的数据库字段(varchar):
["TEXT"]
我试过用反斜杠和双引号来转义引号。
更新我用的是拉威尔。
我试过这个:
$user = User::create(['email'=> $userEmail,
'name'=> $name,
'customer_id'=> $customer->id,
'things'=> '["TEXT"]'
]);
这是数据库中的结果:“[\”text\“]”
3条答案
按热度按时间11dmarpk1#
这是正确的数据。当显示带有双引号的内容时,内部双引号需要用反斜杠字符转义。即:
相当于:
不需要转义,因为引号不冲突。
这是php字符串工作方式的产物。
测试插入时,应看到以下结果:
显示该列的实际原始十六进制数据,应为:
哪里
5B
表示[
以及5D
代表]
. 如果你得到22
在前面和结尾,出于某种原因,双引号实际上进入了您的列,而不仅仅是php显示字符串的方式。h9vpoimq2#
不太清楚你在这里是什么意思。。但很简单
INSERT INTO test(varchar_field) VALUES('["TEXT"]');
应该有帮助q9yhzks03#
我就是这样工作的: