Symfony2不使用pdo,但是我有搜索错误,需要使用pdo

时间:2014-10-06 09:03:42

标签: symfony pdo doctrine

我的项目中没有使用任何PDO,但是我收到了这个错误。

An exception occurred while executing 'DELETE FROM bidang_pekerjaan_mahasiswa WHERE id_mahasiswa = ?' with params [14148]:

SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
500 Internal Server Error - DBALException
1 linked Exception: PDOException »

我已经搜索了问题所在,它告诉我应该提供一个PDO参数

->setParameter('id', $id, \PDO::PARAM_INT)
好吧,没关系,还没有任何错误。但我的控制器上的其他人有问题..我收到了通知

Notice: Array to string conversion in /myProject/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php on line 784 

我的存储库根本无法插入数据库

我的所有项目都是正确的,但是当我需要在我的某个存储库中添加一些函数时,我得到了类似的错误。 请帮助我,我需要尽快解决这个问题

1 个答案:

答案 0 :(得分:0)

如果您使用的是PDO驱动程序,Doctrine2提供的DBAL连接类实际上是PDO的子类。

您可以查看当前使用的驱动程序,查看database_driver文件中的app/config/parameters.yml。你应该是pdo_mysql

要访问连接/ PDO实例,您可以使用doctrine服务。

// $ServiceContainer is your services container; if you have an instance
// of Doctrine or the entity manager, you can use them directly, of course
$Connection = $ServiceContainer->get('doctrine')->getManager()->getConnection();

然后您可以像任何其他PDO实例一样使用$Connection

另请参阅:http://doctrine-dbal.readthedocs.org/en/latest/reference/configuration.html

**

对于Array to string conversion问题,这是不同的:您传递的参数应该是一个字符串,但是您传递一个数组。不幸的是,你没有发布实际的查询,因此无法确切地说明问题是什么。