이전에 "php는 mysql 저장 프로시저를 호출합니다"라는 기사를 다시 인쇄했습니다. 테스트 후 기사의 방법이 실현 가능하지 않은 것으로 나타났습니다.
select 문으로 저장 프로시저를 호출하면 PROCEDURE p가 지정된 컨텍스트 오류에서 결과 집합을 반환할 수 없습니다. 오랫동안 인터넷 검색을 한 결과 mysql 공식 웹사이트에서 db_mysql 모듈이 저장 프로시저 호출을 지원하지 않는다는 내용을 발견했습니다. 해결책은 db_mysqli를 사용하는 것입니다. 나는 그것을 테스트했고 작동합니다.
사용법은 상대적으로 간단합니다. 말할 것도 없습니다. 인터넷에서 코드를 복사하면 됩니다.
/* MySQL 서버에 연결 */
$link = mysqli_connect(
' localhost', /* 연결할 호스트 */
'root', /* 연결할 사용자 */
'root', /* 사용할 비밀번호 */
'db_name') ; /* 쿼리할 기본 데이터베이스 */
if (!$link) {
printf("MySQL 서버에 연결할 수 없습니다. 오류 코드: %sn", mysqli_connect_error()) ;
exit;
}
/* 서버에 쿼리 보내기 */
if ($result = mysqli_query($link, "call se_proc('crm')")) {
/* 쿼리 결과 가져오기 */
while( $row = mysqli_fetch_array($result) ){
echo ($row[0]. "--------- SR. " . $row[1] . "
");
}
/* 결과 세트를 삭제하고 사용된 메모리를 해제합니다. */
mysqli_free_result($result); 🎜>/* 연결 끊기 */
mysqli_close($link);
?>
구현하는데 오랜 시간이 걸리는 저장 프로시저가 이전만큼 효율적이지 않다는 점이 아쉽습니다. -
위 내용을 포함하여 PHP가 mysql 저장 프로시저를 호출하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.