我在 Symfony 1.4 项目中的 mysql 数据库中添加了一个新表。我想在不使用 Doctrine 的情况下使用新表,但我看到的所有示例都指的Doctrine_Manager::connection()
是获取数据库连接。
我可以在没有的情况下获得数据库连接Doctrine_Manager::connection()
吗?
我也想使用普通的 sql 语句,但我认为它们必须是 PDO 语句。
我在 Symfony 1.4 项目中的 mysql 数据库中添加了一个新表。我想在不使用 Doctrine 的情况下使用新表,但我看到的所有示例都指的Doctrine_Manager::connection()
是获取数据库连接。
我可以在没有的情况下获得数据库连接Doctrine_Manager::connection()
吗?
我也想使用普通的 sql 语句,但我认为它们必须是 PDO 语句。
好吧,如果您不想使用学说来检索连接,则必须从 中检索信息database.yml
并使用 PDO 将自己连接到数据库。
如果你databases.yml
是这样的:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: 'mysql:dbname=testdb;host=127.0.0.1'
username: dbuser
password: dbpass
您可以使用以下代码段创建新的 PDO 连接:
// create the connection
$yml = sfYaml::load(sfConfig::get('sf_config_dir').'/databases.yml');
$params = $yml['all']['doctrine']['param'];
$dbh = new PDO($params['dsn'], $params['username'], $params['password']);
// perform your query
$statement = $dbh->prepare($query);
$statement->execute();
$results = $statement->fetchAll();