Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何阻止条令引用数字?_Php_Mysql_Doctrine Orm - Fatal编程技术网

Php 我如何阻止条令引用数字?

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

我试图使用条令运行一个本机SQL查询,但在引用查询的
限制
部分的数字时遇到了问题

    $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:     );