SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)

一般出现这个错误:

SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)

是密码空,但是在Phalcon中如果项目数据库有主从库,在事务中没有指定库:

use Phalcon\Mvc\Model\Transaction\Manager as TxManager;

$manager = new TxManager();
$transaction = $manager->get();

也会遇到上面的错误.这是因为Phalcon默认会从configdatabase配置字段去读取数据库配置.
所以只需要加一行代码:

$manager->setDbService('master');

如果你也遇到了这个问题,把上面的master换成你的库连接名称就好了.