gpt4 book ai didi

php - Zend 框架 2 'quote_identifiers' => false

转载 作者:行者123 更新时间:2023-11-30 00:25:37 25 4
gpt4 key购买 nike

所以当我遇到以下问题时,我正在计划我的应用程序:我希望能够使用 Zend Db Select 进行此查询:

选择COLUMN_NAME AS COLUMN_NAME 来自 INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '品牌' AND TABLE_SCHEMA = '产品'

从表中选择列。问题是 Zend 生成:

选择COLUMN_NAME AS COLUMN_NAME 来自 INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '品牌' AND TABLE_SCHEMA = '产品'

在 INFORMATION_SCHEMA.COLUMS 上使用“``”(引号),会产生“未选择数据库”的 SQL 错误。我尝试在我的配置数组中插入“'platform_options' => array('quote_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));

最佳答案

回到这个问题,我设法找到了使用架构名称为表添加前缀的答案。 Here您可以找到所描述的问题,解决方案似乎是 Zend TableIdentifier。因此,做一个小结论,信息模式/表/列的解决方案是元数据,而模式名称前缀的解决方案是表标识符。如果您不能删除引号,只需使用这些解决方案之一

关于php - Zend 框架 2 'quote_identifiers' => false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22915545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com