MySQL 데이터베이스에 테이블 '계정'(id, email, pass)이 있습니다.PHP : mysqli_fetch_assoc가 저장 프로 시저와 작동하지 않습니다.
내가 저장 한 절차 :
function loadAccount($email, $pass)
{
// connect to DB
// ...
$query = "CALL LoadAccount('{$email}')";
if ($mysqli->multi_query($query))
{
do
{
if ($result = $mysqli->store_result())
{
// Numbered array.
while ($row = $result->fetch_array(MYSQLI_NUM))
{
printf("%s %s\n", $row[0]);
}
// Associative array.
// while ($row = $result->fetch_array(MYSQLI_ASSOC))
// {
// printf("%s\n", $row['pass']);
// }
$result->free();
}
$mysqli->more_results();
} while ($mysqli->next_result());
}
}
그래서, 번호가 배열 섹션의 작품,하지만 난 그것을 주석 경우 주석을 연관 배열 섹션 : 여기
DELIMITER $$
CREATE PROCEDURE `LoadAccount`(email_p VARCHAR(100))
BEGIN
SELECT pass FROM account WHERE email = email_p;
END$$
DELIMITER ;
그리고는 코드입니다 - 페이지가 멈추고 연결이 끊깁니다.
왜 작동하지 않습니까?
이 코드는 작동해야하기 때문에 당황 할 수 있습니다. mysql 서버 로그와 느린 쿼리 로그 (사용 가능한 경우)를보고 표시되는 내용을 볼 수 있습니까? – e4c5
서버 로그에 오류가 표시됩니다. 오류있는 응용 프로그램 이름 : httpd.exe, 버전 : 2.2.14.0, 타임 스탬프 : 0x4ad08a08 오류있는 모듈 이름 : php_mysqli.dll 버전 : 5.2.5.5, 타임 스탬프 : 0x47389d89 예외 코드 :가 0xc0000005 오류 오프셋 : 0x0000000000002474 오류있는 프로세스 ID : 0x1014 애플리케이션은 시간 시작 폴트 : 0x01cabb38919dc683 오류있는 응용 프로그램 경로 : C를 \ apache64 \ bin \ httpd.exe 오류가있는 모듈 경로 : C : \ php \ ext \ php_mysqli.dll 보고서 ID : 64124eed-2731-11df-9c2d-002564f16a19 쿼리 로그를 어떻게 활성화합니까? –