【发布时间】:2017-06-21 01:17:36
【问题描述】:
我在编写 php 页面时遇到问题,我可以在其中看到一个表(一个 mysql 表),但是当我插入用户名、id_user、电子邮件或地址(例如)时,我必须过滤这个表。我将复制我为单个字段编写的代码:
if (!isset($_GET['name']))
$query = "not interesting";
else if($_GET['name'] != ''){
$var145 = $_GET['name'];
$query = "not interesting where `Name` = '$var145'";
}
else
$query = "not interesting";
这很好用,因为当没有发送表单时,它会显示所有表格,当文本不为空时,它将显示带有过滤器的查询,当文本为空时,它将显示所有表。你知道如何帮助我吗?我不知道如何改进另外三个输入文本来研究更好的记录,因为我必须检查变量的存在然后决定做什么。对不起我的英语不好,我希望你能理解我的问题。谢谢大家
【问题讨论】:
-
听起来你需要实现复杂的过滤。通常这是通过在处理每个表单字段时构建“WHERE”子句来完成的,而不是根据每个字段进行整个查询。另外,请阅读有关 SQL 注入的文档:php.net/manual/en/security.database.sql-injection.php
-
抱歉,现在我看不懂了。我对这种复杂过滤的最后一次机会是只提交一次表单。你知道一些有用的东西吗?我知道有一个函数,但是如果我们不能阻止它会导致循环,因为页面会重新加载,脚本会一次又一次地执行
-
那-1...为什么?
标签: php mysql mysqli phpmyadmin