Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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 Zend Framework 2“quote_标识符”=>false_Php_Mysql_Zend Framework2 - Fatal编程技术网

Php Zend Framework 2“quote_标识符”=>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

因此,当我遇到以下问题时,我正在计划我的申请: 我希望能够使用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,但什么也没发生。 用于生成的代码是:

    $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元数据的使用帮助我解决了这个问题。