mysql의 프로시져호출시 에러(procedure can't return a result set in the given context)
php에서 mysql과 연결을 할때
mysql_connect( host, database, user, password);
로 하는경우가 많은데로 이렇게할 경우 프로시져를 호출하면 다음과 같은 에러메시지를 볼 수 있다.
PROCEDURE XXX.XXX can't return a result set in the given context
프로시져를 호출할때는 다음과 같이 연결을 해야 에러가 나지 않는다..
mysql_connect( host, database, user, password, TRUE, 131074);
역시 CI인 경우 프로시져를 Call할때 에러가 나는 경우는
Error Number: 1312
PROCEDURE xone_ktk_new.sp_p_pps1123_30_Search can't return a result set in the given context
CALL xone_ktk_new.sp_p_pps1123_30_Search('30','30','','','')
Filename: models/Erp_test_model.php
Line Number: 16
해결방법 :
system/database/drivers/mysql/mysql_driver.php 파일에서
/**
* Non-persistent database connection
*
* @param bool $persistent
* @return resource
*/
public function db_connect($persistent = FALSE)
{
$client_flags = 131074; // PROCEDURE 사용을 위해