如何使用tablegateway绑定zend框架2中的参数,这是我正在使用的代码
$adapter = $this->tableGateway->getAdapter();
$result = $adapter->query(
"SELECT * "
. "FROM TABLE "
. "WHERE SOME_ID = $SOME "
. "AND STATUS = 1 "
);
$dataSource = $result->execute();
$statement = $dataSource->getResource();
$result = $statement->fetchAll(\PDO::FETCH_OBJ);
请为我建议一个安全的查询构建器代码
答案 0 :(得分:1)
您正在尝试将适配器中的参数绑定在TableGateway中 它可以通过多种方式完成,但您发布的示例
$id = 123;
$res = $adapter->query(
"SELECT * FROM TABLE WHERE SOME_ID = ? AND STATUS = 1", [$id]
);
var_dump($res->current());
函数 query()中有第二个参数
@param string|array|ParameterContainer $parametersOrQueryMode
所以你可以使用这个选项玩一点...也检查函数Zend\Db\Adapter\Adapter::query();
更简单的方法是使用TableGateway:
$res = $this->tableGateway->select(['SOME_ID' => $id]);
$res->current(); // than you can use also toArray(), current(), etc.