-3

任何人都知道为什么这不起作用:

$no = $_GET['no'];
$findinterval = mysql_query("SELECT * FROM intervals ORDER BY id DESC LIMIT 1");
$result = mysql_fetch_array($findinterval);
$id = $result['id'];
$ip = $_SERVER['REMOTE_ADDR'];

$create_log = mysql_query("INSERT INTO visitors VALUES ('','$ip','$date','$no','$id')");

以上在插入时工作正常。

$uniquecheck = mysql_query("SELECT * FROM visitors WHERE no = '$no' AND interval = '$id' AND ip = '$ip'");`

var_dump正在给bool(false)

正如公认的答案所证实的那样,这个问题一点也不含糊。尽管如此,它是-4。

4

1 回答 1

2

interval是mysql中的保留字,所以需要用反引号表示:

SELECT * FROM visitors WHERE no = '$no' AND `interval` = '$id' AND ip = '$ip'

除此之外,这些mysql_*功能已被弃用,您应该移至 PDO / mysqli 和准备好的语句以关闭您现在拥有的 sql 注入孔。

于 2012-12-15T01:34:21.110 回答