Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不使用mysql转义字符串的转义_Php_Mysql_Yii - Fatal编程技术网

Php 不使用mysql转义字符串的转义

Php 不使用mysql转义字符串的转义,php,mysql,yii,Php,Mysql,Yii,如何在不使用SQL转义字符串来防止SQL注入的情况下,转义插入到MySQL表中的数据 我使用的是Yii框架,它使用PDO,不支持多个查询。我需要运行多个insert查询,并需要转义正在插入的值 Yii::app->quoteValue不起作用,因为它在插入mysql的输入周围加引号。是否有一个PHP函数可以用来防止SQL注入?您可以使用 $string = addslashes($string); 但是,建议您尝试使用适当的mysql方法,这样我就不会指望这是一个完美的替代方法。您可以使用 $

如何在不使用SQL转义字符串来防止SQL注入的情况下,转义插入到MySQL表中的数据

我使用的是Yii框架,它使用PDO,不支持多个查询。我需要运行多个insert查询,并需要转义正在插入的值


Yii::app->quoteValue不起作用,因为它在插入mysql的输入周围加引号。是否有一个PHP函数可以用来防止SQL注入?

您可以使用

$string = addslashes($string);

但是,建议您尝试使用适当的mysql方法,这样我就不会指望这是一个完美的替代方法。

您可以使用

$string = addslashes($string);

但是,建议您尝试使用适当的mysql方法,这样我就不会指望这是一个完美的替代方法。

如果您在准备好的语句中使用了您的值作为参数,那么如果您使用PDO,您应该使用准备好的语句,只要您正确使用占位符并且不在字符串中串联,这些语句就不需要额外的转义。我认为他的问题是他需要构建一个多插入查询,而他使用PDO的框架不支持多插入查询。因为它放置引号,所以无法工作。。。听起来它已经被转义了。我需要运行多个insert查询,并且需要转义被插入的值。那么你想用什么库呢?如果你在准备好的语句中有你的值作为参数,那么如果你在使用PDO,那么你很可能已经安全了,您应该使用准备好的语句,只要您正确使用占位符并且不在字符串中串联,这些语句就不需要额外的转义。我认为他的问题是他需要构建一个多插入查询,而他使用PDO的框架不支持多插入查询。因为它放置引号,所以无法工作。。。听起来它已经被转义了。我需要运行多个insert查询,并且需要转义被插入的值。那么,您希望使用什么库进行此操作?如果使用上述方法,则从数据库中获取查询时需要运行stripcslashes$variable。这是不安全的,addslashes不是清理数据库输入的正确方法。因此,我的评论是不建议这样做:不需要任何注释。只是不要发布不好的答案;如果使用上述方法,则从数据库获取查询时需要运行stripcslashes$variable。这是不安全的,addslashes不是清理数据库输入的正确方法。因此,我的评论是不建议这样做:不需要任何注释。只是不要发布不好的答案;