我的项目中没有使用任何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
我的存储库根本无法插入数据库
我的所有项目都是正确的,但是当我需要在我的某个存储库中添加一些函数时,我得到了类似的错误。 请帮助我,我需要尽快解决这个问题
答案 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
问题,这是不同的:您传递的参数应该是一个字符串,但是您传递一个数组。不幸的是,你没有发布实际的查询,因此无法确切地说明问题是什么。