SQLSTATE [HY000]:symfony2中的常规错误

时间:2012-09-24 17:35:56

标签: symfony

我在symfony2中调用存储过程时出现以下错误

SQLSTATE [HY000]:常规错误 500内部服务器错误 - PDOException

我在conroller中有以下代码:

public function indexAction($name) {
    $em = $this->getDoctrine()->getEntityManager();
    $query = $em->createNativeQuery('CALL sp_demoproc_insert ()', new ResultSetMapping());
    $result = $query->execute();
    $em->flush();

    return $this->render('HomeHomeBundle:Default:index.html.twig', array('name' => $name));
}

和存储过程如下,

DROP PROCEDURE IF EXISTS tmp.sp_demoproc_insert; CREATE PROCEDURE tmp。sp_demoproc_insert() INSERT INTO tmpdetailsidname ) 价值观( '11','xyz' );

2 个答案:

答案 0 :(得分:0)

我在尝试调用存储过程时遇到了同样的错误。 然后我看到this page 所以我尝试了这个,它对我有用:

$ em-> getConnection() - > executeUpdate('CALL YourStoredProc()');

答案 1 :(得分:0)

选中https://github.com/doctrine/orm/issues/5497#issuecomment-162372454

createNativeQuery()仅用于SELECT语句。

将$ em-> getConnection()-> executeUpdate()用于UPDATE,DELETE或INSERT语句。

这是一个文档问题。