从http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php得到:
SQL注入是指有人在您不知情的情况下插入要运行在您的数据库上的MySQL语句。注入通常发生在您要求用户输入(例如他们的姓名)时,他们却给您一个MySQL语句,您将无意中在数据库上运行该语句。
我阅读了整篇文章,但仍然存在一些主要问题,不理解它是什么以及如何实现。
在第一个示例中,他们实际上会看到什么?
据我所知,如果我实际上回显$name,他们将看到所有名称,因为它将始终“为真”,我正确吗?
我不理解的另一件事是,mysql_real_escape_string()是否解决了MySQL注入问题,这其中肯定还有更多的内容。
我真正不理解的是,mysql_real_escape_string()是用来解决这个问题的,为什么不自动完成呢?我的意思是说,您必须每次都添加mysql_real_escape_string(),是否有使用它的情况,这就是为什么他们不将其自动化的原因?
SELECT FROM table ORDER BY field
,其中 field 是由用户输入的。你会怎么做? - Your Common Sense