-4
4

3 回答 3

1
  • 您正在混合mysqli(如改进的 i )和 mysql (如弃用的 api)功能。
  • 您的代码容易发生sql 注入,因为您没有正确编码查询的参数。由于您使用的是 multi_query() 这个脚本真的很容易出现bobby tables。请在 stackoverflow 中搜索防止这种情况的好方法。
  • 在其当前形式中,脚本只需要记录计数,而不需要实际数据。在这种情况下,使用SELECT Count()而不是检索实际数据
  • 这种不加锁的方法很容易出现竞争条件。最好使用不允许插入两个相同(由键定义)记录的唯一约束。然后,您的脚本可以测试特定的错误代码,以向用户显示“数据库中已读取项目”消息。

编辑:参数 $data 由$mysqli->real_escape_string.
但是 $filename 也是“任意数据”,因为它几乎可以是客户端在 http 请求中发送的任何字符串。所以它也必须逃脱。

于 2013-01-28T11:17:10.120 回答
0

而不是if(mysql_num_rows($rs) == 0),使用if($rs->num_rows)

于 2013-01-28T11:10:53.647 回答
0
echo $q;

你会得到一个查询在 phpmyadmin 中执行它,我猜这个查询是错误的。

于 2013-01-28T11:17:01.420 回答