将整数指定为变量

时间:2012-10-18 12:51:47

标签: php mysql

我知道的通用主题。很难在一个主题中具体化。无论如何我对这个sql逻辑有问题:

"SELECT * FROM imagecomment WHERE filename = :filename ORDER BY comment_timestamp DESC LIMIT '$min', '$max'";

当我尝试相同的逻辑但直接在sql逻辑中使用整数时,它可以工作。变量min和max是整数:

INT(10) int(20)我在var_dump()时得到这个。我也尝试将变量(我通常这样做)绑定到变量(),但它仍然无效。

2 个答案:

答案 0 :(得分:5)

你在PDOStatement中使用它,对吗? (因为你正在使用:filename)

$db = new PDO(); //assume you have this set

$stmt = $db->prepare(
         "SELECT * 
          FROM imagecomment 
          WHERE filename = :filename 
          ORDER BY comment_timestamp 
          DESC LIMIT :min, :max";

$stmt->bindValue(':filename', $filename);
$stmt->bindValue(':min', $min);
$stmt->bindValue(':max', $max);

$stmt->execute();

$stmt = $db->prepare( "SELECT * FROM imagecomment WHERE filename = :filename ORDER BY comment_timestamp DESC LIMIT :min, :max"; $stmt->bindValue(':filename', $filename); $stmt->bindValue(':min', $min); $stmt->bindValue(':max', $max); $stmt->execute();

你应该能够获取你的结果,如果这不起作用,请告诉我你从PDOStatement得到的错误。

答案 1 :(得分:4)

 "SELECT * FROM imagecomment
 WHERE filename = :filename ORDER BY comment_timestamp DESC LIMIT $min, $max";