动态变量设置OFFSET(mySQL,php)

时间:2014-12-06 12:27:01

标签: php mysql dynamic offset

感谢任何帮助,我做错了什么?未声明的变量:$ offset

$offset = 1;

$sql = 'SELECT * FROM links order by payout desc limit $offset, 1';

3 个答案:

答案 0 :(得分:1)

不要在字符串中使用变量替换来构建类似的SQL查询。它会产生SQL注入漏洞。

使用PDO或mysqli,并将变量作为数据提供,例如:

$pdo = new PDO(...);

$stmt = $pdo->prepare('SELECT * from links ORDER BY payout DESC LIMIT :offset, 1');

if ($stmt->execute(array(':offset' => $offset)) {
    $row = $stmt->fetch();
}

答案 1 :(得分:-1)

有一点需要注意的是,似乎你用单引号编写变量内联,变量只能用双引号识别

答案 2 :(得分:-2)

尝试:

$sql = 'SELECT * FROM links order by payout desc limit ' . intval($offset) . ', 1';