分类: PHP
2014-11-20 12:51:24
第一、MySQL中的LIMIT关键字不能使用预处理
错误的:以下语句在LIMIT中使用了':start',':num'预处理绑定参数方式导致取不出数据,但不会报错。
prepare($sql);
$param = array(':start'=>$start,':num'=>$num);
$stmt->execute($param);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
?>
正确的:直接拼出LIMIT语句,结果正常
prepare($sql);
//$param = array(':start'=>20,':num'=>10);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
?>
第二、MSSQL中TOP关键字不能使用预处理
错误的:在TOP关键字中使用了':top'预处理绑定参数方式导致取不出数据,同样也不会报错
prepare($sql);
$param = array(':top'=>$top);
$stmt->execute($param);
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
?>
正确的:直接拼出TOP关键字语句,结果能取出数据
prepare($sql);
//$param = array(':top'=>$top);
$stmt->execute();
$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
var_dump($data);
?>