【发布时间】:2013-12-21 23:39:58
【问题描述】:
在我的应用程序中,我将一个大文本作为 post 参数发送到服务器。文字就像下面的代码:
{"objects":[{"type":"path","originX":"center","originY":"center","left":138,"top":250.25,"width": 184,"嘿嘿 ght":254,"fill":null,"overlayFill":null,"stroke":{"source":"function 匿名() {\n\n var squareWidth = 10, squareDistance = 2;\n\n var patternCanvas = fabric.document.createElement('canvas');\n
patternCanvas.width = patternCanvas.height = squareWidth + 平方距离;\n var ctx = patternCanvas.getContext('2d');\n\n ctx.fillStyle = \"#005E7A\";\n ctx.fillRect(0, 0, squareWidth, squareWidth);\n\n 返回 patternCanvas;\n
\n}","repeat":"repeat","offsetX":0,"offsetY":0},"strokeWidth":15,"strokeDashArray":null,"strokeLineCap":"round","strokeLineJoin": "round","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,"selectable": true,"hasControls":true,"hasBorders":true,"hasRotatingPoint":true,"transparentCorners":true,"perPixelTargetFind":false,"shadow":null,"visible":true,"clipTo":null, "路径":[["M",69.5,0],["Q",69.5,0,70,0],["Q",70.5,0,70.75,0],["Q",71, 0,71.5,....
因为你有回车。我想将此文本作为 blob 插入到 mysql 表中。但这并不成功。我认为原因是其中的回车,因为其他没有回车的示例效果很好。
我怎样才能成功地将这种文本插入到我的表格中?
顺便说一句,我正在使用带有 db session 的 codeigniter 购物车类,并尝试将此文本保留为购物车项目选项。
【问题讨论】:
-
为什么不将它作为 varchar 而不是 blob 提交?
-
它有什么改变吗?因为可能问题不在于文本的大小,所以在其中回车。
-
使用查询参数也解决了很多这样的问题。
-
您的问题是由于您没有转义输入(在这种特殊情况下,反斜杠没有正确转义
\n\n应该看起来\\n\\n2),这使您的代码容易受到sql注入.您应该使用准备好的语句来完全避免这种情况。 -
谢谢,那么我如何在 php 中转义这些。
标签: php mysql sql codeigniter