gpt4 book ai didi

php - 为什么 Zend Framework (Zend_Db_table) 拒绝这个 SQL 查询?

转载 作者:可可西里 更新时间:2023-11-01 08:01:07 24 4
gpt4 key购买 nike

我正在处理两个表(urlscompanies)的简单JOIN。我正在使用这个查询调用:

print $this->_db->select()->from(array('u' => 'urls'),
array('id', 'url', 'company_id'))
->join(array('c' => 'companies'),
'u.company_id = c.id');

发出这个查询:

SELECT `u`.`id`, `u`.`url`, `u`.`company_id`, `c`.* FROM `urls` AS `u` INNER JOIN `companies` AS `c` ON u.company_id = c.id

现在,我希望 c.* 实际上不出现,但无论哪种方式都没有关系。 ZF 死于此错误:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"

但我可以在我的 MySQL CLI 中完美地运行该查询。有什么想法可以解决这个查询吗?

最佳答案

我刚刚在针对 ZF 1.10 和 MySQL 5.1 的测试脚本中尝试了该代码,它工作正常。

您使用什么用户名/密码连接到您的数据库?它说“或访问冲突”,所以我会测试您的数据库用户名是否具有正确的权限。尝试使用完全相同的用户/密码和连接方法在 MySQL CLI 中进行连接(因为权限可能因客户端主机而异,即使对于相同的用户/密码也是如此)。

参见 MySQL Zend Framework - SQLSTATE[42000]: Syntax error or access violation:

顺便说一句,您可以通过将一个空数组作为列的第三个参数传递给 join() 来省略 c.* 列:

->join(array('c' => 'companies'), 'u.company_id = c.id', array());

关于php - 为什么 Zend Framework (Zend_Db_table) 拒绝这个 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018677/

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