我正在运行 php 5.5.9
我将以下文本发布到一个 php 脚本,该脚本将其插入到 mysql 表的字段中。
这变得相当麻烦',为什么会这样
我正在使用以下代码将 POSTed 数据分配给变量(加上调试代码。)
$ITEMDESC2 = $_POST['ITEMDESC'];
$ITEMDESC = mysqli_real_escape_string($conn1, $ITEMDESC2);
error_log("ITEMDESC: $ITEMDESC ITEMDESC2: $ITEMDESC2");
以下内容出现在我的 apache 日志文件中:
ITEMDESC:这变得非常令人讨厌\\'以及为什么
ITEMDESC2:这变得非常讨厌'以及为什么
为什么$ITEMDESC
用双反斜杠而不是单反斜杠进行转义?
我已经读过这可能是由 magic_quotes 引起的,但据我所知,它们在 PHP 5.4 中被删除了
欢迎对此有任何见解。
编辑:根据要求添加更完整的工作示例。
<?php
$conn1 = new mysqli('localhost', 'USER', 'PASSWORD', 'DB')
or die ('Cannot connect to db');
$ITEMDESC = "This is Bob's Text";
$ITEMDESC2 = mysqli_real_escape_string($conn1, $ITEMDESC);
$SQL = "insert into table (description) values ('{$ITEMDESC2}');";
echo "<br>ITEMDESC: {$ITEMDESC}";
echo "<br>ITEMDESC2: {$ITEMDESC2}";
echo "<br>SQL: {$SQL}";
error_log("ITEMDESC: {$ITEMDESC}");
error_log("ITEMDESC2: {$ITEMDESC2}");
error_log("SQL: {$SQL}");
?>
apache2 错误日志包含:
ITEMDESC:这是 Bob 的文本
ITEMDESC2:这是 Bob 的文本
SQL:插入表(描述)值('这是 Bob 的文本');
浏览器输出(在屏幕上):
ITEMDESC:这是 Bob 的文本
ITEMDESC2:这是 Bob 的文本
SQL:插入表(描述)值('这是 Bob 的文本');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句