【发布时间】:2026-02-09 07:05:01
【问题描述】:
我的脚本中有两个字符串输入,它们迭代地编写了一个 while 循环:
<code>$odometerBrand=PREVIOUS ONC"ODOMETER BRAND"; </code>
<code>$odometerBrand=PREVIOUS ONC'ODOMETER BRAND"</code>
我尝试用我自己的引号将它们包装起来,但由于字符串值具有内部引号,它会在其中一个或另一个上中断。
<code>
array_push($actualInventoryArray,array("'".$OdometerBrand)."'" ));
</code>
所以我知道上面的代码不起作用,因为当对数据库感兴趣时,第二个值看起来像:
' PREVIOUS ONC' ODOMETER BRAND" ';或者更糟的东西。
现在我将如何删除引号以将其插入数据库?
【问题讨论】:
-
$actualInventoryArray[] = array("'".str_replace('"', "'", $OdometerBrand))."'" );`
-
你试过
"\"escaping\""吗?另外:使用参数化语句 - 它们共同防止您的问题,同时保护您免受 sql 注入 - 从不通过连接将数据插入查询! -
是的,我实际上尝试了 php addlashes() 的内置函数,但似乎 php 根本无法将数据识别为字符串。因为字符串带有内部引号。所以整个事情:[这个字符串'Hello Again“]应该是一个字符串,但无论如何我都无法将整个数据作为字符串获取,它要么是前两个单词,要么是最后两个单词
标签: php laravel double-quotes single-quotes