PDO (PHP)를 사용하여 저장 프로 시저 (MYSQL)의 결과를 얻지 못하는 것 같습니다.PDO를 통해 저장된 프로 시저 결과 얻기 PHP
저장 프로 시저 :
CREATE PROCEDURE getUserId(serviceId VARCHAR(64), serviceInput VARCHAR(32))
BEGIN
SELECT id FROM users WHERE servid = serviceId AND service = serviceInput;
END
PHP 코드 :
$mysqlConn = mysqlPDOLogin();
$stmt = $mysqlConn->prepare("CALL getUserId(?,?);");
$stmt->bindParam(1, $USERID);
$stmt->bindParam(2, $USERPROVIDER);
$stmt->execute();
$returned_a = $stmt->fetch();
echo $returned_a['id'];
그것은 아무것도 돌아 나던. 필자는 저장 프로 시저에서 기본 선택 코드를 복사하여 PHP 코드에서 직접 사용했지만 작동하지만 저장 프로 시저를 통해 작동하지 않습니다.
도움이 되시면 ...
도움 주셔서 감사합니다. 거짓 표시 없음 .. 오류 (echo) ($ stmt-> errorCode())를 사용하여 오류를 확인했습니다. 나는 전에 이와 비슷한 것을 가지고 있었지만 pdo 대신 mysqli를 사용하고 있었고 바인딩 결과에 대해 불만을 나타 냈습니다 (아마 결과 집합을 얻지 못해서 였을 것입니다.)하지만 나는 그것에 대해 신경 쓰지 않고 끝내야했습니다. PDO를 사용하는 다른 프로젝트에서 동일한 문제가 발생하면 저장 프로 시저에서 아무 것도 얻을 수 없습니다. 추신 : 보안상의 이유로 거대한 저장 프로 시저를 게시하고 싶지 않으며 질문에 답하는 것을 복잡하게 만듭니다. –