Zend framework 如何在zend db中引用coulmn名称?

Zend framework 如何在zend db中引用coulmn名称?,zend-framework,zend-db,zend-db-table,Zend Framework,Zend Db,Zend Db Table,如何引用列名,如$column和$sorting $result = $this -> select() -> from($this -> _name, new Zend_Db_Expr('SQL_CALC_FOUND_ROWS *')) -> order("$column $sorting") -> limit("$start, $limit") -> query() -> fetchAll()

如何引用列名,如$column和$sorting

$result = $this 
    -> select() 
    -> from($this -> _name, new Zend_Db_Expr('SQL_CALC_FOUND_ROWS *'))
    -> order("$column $sorting") 
    -> limit("$start, $limit") 
    -> query() 
    -> fetchAll();

在这个查询中?

您可以在
Zend\u Db\u Adapter\u Abstract
中使用
quoteIdentifier()

$columnSafe = $adapter->quoteIdentifier($column);
$sortingSafe = in_array(strtoupper($sorting) , array('ASC', 'DESC')) ? $sorting : 'ASC'; //default to ASC if illegal value passed

您可以在
Zend\u Db\u Adapter\u Abstract
中使用
quoteIdentifier()

$columnSafe = $adapter->quoteIdentifier($column);
$sortingSafe = in_array(strtoupper($sorting) , array('ASC', 'DESC')) ? $sorting : 'ASC'; //default to ASC if illegal value passed

它返回此错误致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42S22]:未找到列:1054未知列“
id
”,在“order子句”中,表的架构是什么?它是否有
id
列?是否从正确的表中选择?如果您只需
echo$select
,就可以调试select语句-您必须在执行
fetchAll()
之前将其分配给变量。正如我前面所写的,转储select语句并检查它是否正确,以及该列是否正确转义。如果是这样,我在这里的工作就完成了,欢迎您接受我的回答,并发布一个关于为什么查询仍然不工作的新问题。它返回此错误致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[42S22]:Column not found:1054 Unknown Column”
id
,在“order子句”中,表的架构是什么?它是否有
id
列?是否从正确的表中选择?如果您只需
echo$select
,就可以调试select语句-您必须在执行
fetchAll()
之前将其分配给变量。正如我前面所写的,转储select语句并检查它是否正确,以及该列是否正确转义。如果是这样,我在这里的工作就完成了,欢迎您接受我的回答,并发布一个新问题,说明为什么您的查询仍然不起作用。