PHP,接收站';php脚本中的d sql,出现一些mysql错误,我应该使用addslashes吗?

PHP,接收站';php脚本中的d sql,出现一些mysql错误,我应该使用addslashes吗?,php,Php,在大多数情况下,当一个sql更新查询发布到我的php脚本时,它可以正常工作。然而,在某些情况下,我从mysql中得到一个错误。我使用一个加密函数通过网络发送数据,所以它以发送的形式到达 如果我将相同的查询发布到phpmyadmin中,它总是有效的 我是否需要添加$sql=addslashes($sql) 我不想在所有查询中都使用它,因为大部分工作都是这样,我不想在不需要的时候在数据中使用斜杠。您没有指定从mySQL中得到的错误。(请始终添加错误消息和示例数据。) 我想,当用户输入引号时,SQL查

在大多数情况下,当一个sql更新查询发布到我的php脚本时,它可以正常工作。然而,在某些情况下,我从mysql中得到一个错误。我使用一个加密函数通过网络发送数据,所以它以发送的形式到达

如果我将相同的查询发布到phpmyadmin中,它总是有效的

我是否需要添加$sql=addslashes($sql)


我不想在所有查询中都使用它,因为大部分工作都是这样,我不想在不需要的时候在数据中使用斜杠。

您没有指定从mySQL中得到的错误。(请始终添加错误消息和示例数据。)

我想,当用户输入引号时,SQL查询会中断:

这是一个非常危险的漏洞的迹象,称为

不要使用addslashes()来修复它,而是使用数据库层提供的转义方法-可能是
mysql\u real\u escape\u string()

更多信息:

例:


在整个查询中添加斜杠完全是胡说八道。为什么不在使用数据库之前阅读一些手册呢?他在整个查询中添加斜杠,哈哈。如果他自己发送一个查询,我不会感到惊讶。我不确定错误是什么,我不会记录它。但这将是由于“或”“或许”。我的另一个系统构建sql。因此,sql注入的危险性很小。我可以在整个sql查询中使用mysql\u real\u escape\u string()吗?@Jules不,你需要对值进行转义only@Jules您还希望开始记录(或至少显示)您的错误-这将使您的工作更加轻松我可以使用mysql\u real\u escape\u string()吗在完整的sql语句上?简短地说:不。因为您还将转义属于查询的引号。mysql\u real\u escape\u字符串在他的情况下是无用的。addslashes是enough@Col.榴弹片将此更改为addslashes几乎不会提高性能,但可能会导致以后泄漏。我还是会坚持mysql的。谁在谈论“表演”?他确实在另一台主机上创建了他的查询。试着想想,同时记住mysql\u real\u escape\u字符串是如何工作的。
$c = mysql_connect("localhost","a","b");
$query = 'SELECT * FROM table WHERE name="%s";'
mysql_query(sprintf($query,mysql_real_escape_string($_POST['name'],$c)));