Php Zend Framework 2“quote_标识符”=>false
因此,当我遇到以下问题时,我正在计划我的申请: 我希望能够使用Zend Db Select进行此查询: 选择列名称作为列名称 从信息_SCHEMA.COLUMNS 其中表_NAME=‘品牌’ 表_SCHEMA='product' 从表中选择列的。问题是Zend生成了: 选择列名称作为列名称 从信息_SCHEMA.COLUMNS 其中,表_NAME='brand'和表_SCHEMA='product' 在INFORMATION\u SCHEMA.COLUMS上使用``引号,这会产生未选择数据库的SQL错误。 我试图在我的配置数组中插入'platform\u options'=>array'quote\u identifiers'=>false,但什么也没发生。 用于生成的代码是:Php Zend Framework 2“quote_标识符”=>false,php,mysql,zend-framework2,Php,Mysql,Zend Framework2,因此,当我遇到以下问题时,我正在计划我的申请: 我希望能够使用Zend Db Select进行此查询: 选择列名称作为列名称 从信息_SCHEMA.COLUMNS 其中表_NAME=‘品牌’ 表_SCHEMA='product' 从表中选择列的。问题是Zend生成了: 选择列名称作为列名称 从信息_SCHEMA.COLUMNS 其中,表_NAME='brand'和表_SCHEMA='product' 在INFORMATION\u SCHEMA.COLUMS上使用``引号,这会产生未选择数据库的S
$sql = new Sql($this->adapter);
$select = $sql->select();
$select->columns(array('COLUMN_NAME'),false);
$select->from('INFORMATION_SCHEMA.COLUMNS');
$select->where(array('TABLE_NAME' => $table,'TABLE_SCHEMA' => $database));
$statement = $sql->prepareStatementForSqlObject($select);
var_dump($sql->getSqlStringForSqlObject($select));
回到这个问题上,我设法找到了用模式名作为表前缀的答案。您可以找到所描述的问题,解决方案似乎是Zend TableIdentifier。因此,为了得出一个小结论,信息架构/表/列的解决方案是元数据,而使用架构名称作为前缀的解决方案是表标识符。如果无法删除引号,请使用这些解决方案之一这不是引号标识符问题的答案,而是基于您在此处查询的内容,您可能需要查看Zend\Db\Metadata->@Crisp,我将检查此解决方案并返回一个响应。但是问题仍然存在,如果没有元数据帮助,您能否解决报价问题?10q@Crisp元数据的使用帮助我解决了这个问题。