Php 当我用“内容”更新sql表行时=&引用;出现了一个错误
我想运行以下命令:Php 当我用“内容”更新sql表行时=&引用;出现了一个错误,php,sql,equals,sign,Php,Sql,Equals,Sign,我想运行以下命令: UPDATE users SET about="$about" ; 但是当我的$about包含=时,脚本会出错并执行以下操作: $about="<img src=somevalue.jpg />"; $about=”“; 脚本会在数据库中添加以下内容: <img src 仅此而已。尝试使用双单引号 $about = '<img src=somevalue.jpg />'; $query = "UPDATE users SET about
UPDATE users SET about="$about" ;
但是当我的$about
包含=
时,脚本会出错并执行以下操作:
$about="<img src=somevalue.jpg />";
$about=”“;
脚本会在数据库中添加以下内容:
<img src
仅此而已。尝试使用双单引号
$about = '<img src=somevalue.jpg />';
$query = "UPDATE users SET about='$about'";
$about='';
$query=“更新用户集关于=”$about';
作为旁注,如果变量的值来自外部,则查询易受攻击。请看下面的文章,了解如何预防它。通过使用PreparedStatements
可以避免在值周围使用单引号
这被称为“sql注入”。不管怎样,你必须处理好它,所以用谷歌搜索它
您必须转义要在语句内部使用的所有输入,否则任何事情都可能发生。最好不要使用简单地包含可变内容的语句,而是使用更好的引擎。看看
PDO
及其工作方式。您可以“准备”一条语句,并将参数作为数组进行传递。PDO根据需要注意干净地逃生。那样更安全 问题在于在字符串周围加引号。我不太熟悉php如何替换字符串中的变量,但您可以在MS SQL server中尝试以下操作:
Set about=“'$about'”
您是否已回显结果查询?同样的问题再次出现,但谢谢。我试图做一些其他的事情——只是不使用,而是使用一个函数img($src){echo”“;},但是当我对表单元格的内容进行行操作时,该函数不起作用。