Php 我如何阻止条令引用数字?
我试图使用条令运行一个本机SQL查询,但在引用查询的Php 我如何阻止条令引用数字?,php,mysql,doctrine-orm,Php,Mysql,Doctrine Orm,我试图使用条令运行一个本机SQL查询,但在引用查询的限制部分的数字时遇到了问题 $offset = $pageNumber * self::$limit; $sql = " SELECT * FROM devices LIMIT :offset, :limit "; $stmt = self::getEntityManager()->getConnection()->prepare($sql); $stmt->bindV
限制
部分的数字时遇到了问题
$offset = $pageNumber * self::$limit;
$sql = "
SELECT * FROM devices LIMIT :offset, :limit
";
$stmt = self::getEntityManager()->getConnection()->prepare($sql);
$stmt->bindValue("offset", $offset);
$stmt->bindValue("limit", self::$limit);
$stmt->execute();
$result = $stmt->fetchAll();
生成:
SELECT * FROM devices LIMIT '0', '5000'
这是无效的我有点困惑于如何改变它以产生:
SELECT * FROM devices LIMIT 0, 5000
我参考了其中一节,其中有一节是关于quote()
函数的,但它在细节上很害羞。试试:
$stmt->bindValue("offset", $offset, PDO::PARAM_INT);
见资料来源:
我很抱歉。我的回答不正确。我不喜欢看书,谢谢!条令文档完全掩盖了
PDO::PARAM_X
值。
28: class MysqliStatement implements \IteratorAggregate, Statement
29: {
30: protected static $_paramTypeMap = array(
31: PDO::PARAM_STR => 's',
32: PDO::PARAM_BOOL => 'i',
33: PDO::PARAM_NULL => 's',
34: PDO::PARAM_INT => 'i',
35: PDO::PARAM_LOB => 's' // TODO Support LOB bigger then max package size.
36: );