php查询不起作用

时间:2017-04-11 21:47:03

标签: php sql

您好我正在构建我在YouTube上看到的Query类,但是我被卡住了。我的查询功能允许您使用高级SQL查询,如SELECT * FROM market LIMIT ? OFFSET ?它绑定值,所以我找不到任何解决方案。有人帮忙吗?我该怎么办?

我的Query.php类包含

public function query($sql, $params = array())
{
    $this->_error = false;

    if ($this->_query = $this->db->prepare($sql))
    {
        $x = 1;

        if (count($params))
        {
            foreach ($params as $param)
            {
                $this->_query->bindValue($x, $param);
                $x++;
            }
        }

        if ($this->_query->execute())
        {
            $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
            $this->_count = $this->_query->rowCount();
        } else {
            $this->_error = true;
        }
    }

    return $this;
}

在这里,我尝试从我的Query bellow中选择db中的项目

$i = 3;
$x = 100;
$sql = Query::getInstance()->query("SELECT * FROM market LIMIT ? OFFSET ?", array($i, $x));

var_dump($sql);

我没有在这里提供完整的源代码,我认为查询功能存在问题,但我无法找到它。

错误图像 enter image description here

1 个答案:

答案 0 :(得分:0)

感谢nogad, 我所做的只是在查询功能的开头设置:

$this->db->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );