PHP에서는 특정 작업을 완료하기 위해 데이터베이스의 저장 프로시저를 호출해야 하는 경우가 있습니다. 이 경우 데이터베이스와 상호 작용하려면 PHP의 데이터베이스 확장 통합을 사용해야 합니다. 이 기사에서는 PHP에서 저장 프로시저를 쿼리하는 방법을 소개합니다.
1단계: 데이터베이스에 연결
우선 데이터베이스에 올바르게 연결되었는지 확인해야 합니다. PHP의 mysqli 확장을 사용하여 데이터베이스에 연결할 수 있습니다. 연결이 성공한 후에는 특정 데이터베이스를 선택해야 합니다. 이는 mysqli_select_db() 함수를 호출하여 달성할 수 있습니다. 다음은 그 예입니다.
$username = "yourusername"; $password = "yourpassword"; $hostname = "localhost"; $database = "yourdatabase"; $connection = mysqli_connect($hostname, $username, $password); mysqli_select_db($connection, $database);
위 코드에서 $username 및 $password 변수는 각각 데이터베이스의 사용자 이름과 비밀번호를 저장합니다. $hostname 변수는 데이터베이스의 호스트 이름을 저장합니다. $database 변수는 데이터베이스 이름을 저장합니다. 데이터베이스에 연결할 때 mysqli_connect() 함수를 사용하고 결과를 $connection 변수에 저장합니다. 그런 다음 mysqli_select_db() 함수를 사용하여 데이터베이스를 선택합니다.
2단계: 저장 프로시저 쿼리
PHP에서 저장 프로시저를 쿼리할 때는 mysqli_prepare() 함수를 사용하여 쿼리를 준비하고 결과를 변수에 저장해야 합니다. 쿼리 문에서 CALL 명령을 사용하여 저장 프로시저를 호출합니다. 예:
$userid = 1; $stmt = mysqli_prepare($connection, "CALL get_user_by_id(?)"); mysqli_stmt_bind_param($stmt, "i", $userid); mysqli_stmt_execute($stmt);
위 예제 코드에서 $stmt 변수는 쿼리 결과를 저장합니다. mysqli_prepare 함수는 쿼리 문을 준비하는 데 사용됩니다. 여기서?는 나중에 지정되는 매개변수 값을 나타내는 자리 표시자입니다. 실제 매개변수 값은 mysqli_stmt_bind_param() 함수를 통해 지정할 수 있다. 첫 번째 매개변수 "i"는 정수형을 나타내는 형식 지정자이고, 후속 매개변수 $userid는 전달할 매개변수 값입니다. 마지막으로 mysqli_stmt_execute() 함수를 사용하여 쿼리를 실행합니다.
3단계: 쿼리 결과 얻기
저장 프로시저의 쿼리 결과를 얻으려면 mysqli_stmt_store_result() 함수를 사용하여 결과를 캐시 영역에 저장해야 합니다. 그런 다음 mysqli_stmt_bind_result() 함수를 사용하여 코드에서 사용할 변수에 결과를 바인딩합니다. 예를 들면 다음과 같습니다.
mysqli_stmt_store_result($stmt); mysqli_stmt_bind_result($stmt, $col1, $col2, $col3); while (mysqli_stmt_fetch($stmt)) { printf("%s %s %s ", $col1, $col2, $col3); } mysqli_stmt_close($stmt); mysqli_close($connection);
위의 예 코드에서는 mysqli_stmt_store_result() 함수를 사용하여 결과를 버퍼 영역에 저장합니다. 그런 다음 mysqli_stmt_bind_result() 함수를 사용하여 루프에서 사용할 $col1, $col2, $col3 등과 같은 변수에 결과를 바인딩합니다. 결과 세트를 순회하고 쿼리 결과를 출력하려면 루프에서 mysqli_stmt_fetch() 함수를 사용하십시오. 마지막으로 mysqli_stmt_close() 함수를 사용하여 쿼리 문을 닫고, mysqli_close() 함수를 사용하여 데이터베이스 연결을 닫습니다.
요약
저장 프로시저 쿼리는 PHP에서 특정 데이터베이스 작업을 구현하는 방법입니다. 쿼리를 수행할 때 먼저 데이터베이스에 연결되어 있는지 확인해야 합니다. 그런 다음 mysqli_prepare() 함수를 사용하여 쿼리를 준비하고 mysqli_stmt_bind_param() 함수를 사용하여 매개변수를 지정합니다. mysqli_stmt_execute() 함수를 사용하여 쿼리를 실행합니다. 그런 다음 mysqli_stmt_store_result() 함수를 사용하여 결과를 버퍼 영역에 저장하고, mysqli_stmt_bind_result() 함수를 사용하여 결과를 변수에 바인딩합니다. 마지막으로 while 루프를 사용하여 결과 세트를 순회하고 mysqli_stmt_fetch() 함수를 사용하여 쿼리 결과를 출력합니다. 쿼리를 완료한 후 mysqli_stmt_close() 함수를 사용하여 쿼리 문을 닫고 mysqli_close() 함수를 사용하여 데이터베이스 연결을 닫아야 합니다.
위 내용은 PHP 쿼리 저장 프로시저의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!