【发布时间】:2009-07-09 03:33:48
【问题描述】:
检查一下,
我有这张桌子
表名:报告
身份证 (AI)
内容(varchar),
contentID (int),
检查(tinyint)
if (isset($_GET['reportPost'])){
$query = mysql_query("select * from reports where contentID = $_GET[reportPost]");
$report = mysql_fetch_assoc($query);
if (!mysql_num_rows($query) && $report['checked'] == 0) {
echo 'There is already a pending report on this object.';
} else {
header("Refresh: 2; url=showthread.php?id=$id");
echo '<div class="successMsg">Thanks for your report!</div>';
mysql_query("insert into reports...");
}
}
我想用这段代码实现的是,如果报告中已经有记录 contentID = $_GET[reportPost] 并且 checked = 0 我不想要这要执行。上面的代码不会这样做。
一些帮助会很受欢迎:)
【问题讨论】:
-
您的查询对 SQL 注入开放。在将 $_GET 和 $_POST 数据放入查询之前,您应该始终对其进行验证。
-
或者正确地转义它——我们不要为 UPDATE、DELETE 和朋友执行 strstr() :-)