2010-01-06 2 views
0

이 컴퓨터에서 여러 프로 시저가 있는데 이것은 내 PHP 코드에서 부울 값 (적어도 부울 값이라고 생각하는)을 제공하는 유일한 쿼리입니다. 이 절차를 다른 절차로 대체하면이 값이 사라집니다. 이 코드에 문제가 있습니까? 여기누군가가 왜 내가이 proc에서 bool 값을 다시 얻고 있는지 말해 줄 수 있습니까?

CREATE DEFINER=`root`@`%` PROCEDURE `phoneIsRegistered` 
(IN iPhone bigint(10), OUT oPhone bigint(10)) 
BEGIN 

     SELECT 
      phone 
     FROM 
      user 
     WHERE 
      phone = iPhone 
     INTO 
      oPhone; 
END; 

배열 내가 이야기하고있는이 값 모습입니다.

mysqli_result Object 
(
    [current_field] => 0 
    [field_count] => 2 
    [lengths] => 
    [num_rows] => 110 
    [type] => 0 
) 
mysqli_result Object 
(
    [current_field] => 0 
    [field_count] => 1 
    [lengths] => 
    [num_rows] => 12 
    [type] => 0 
) 
1     <-------------------------------------HERE 
mysqli_result Object 
(
    [current_field] => 0 
    [field_count] => 1 
    [lengths] => 
    [num_rows] => 1 
    [type] => 0 
) 
+0

이전에 게시 한 질문과 같지 않습니까? 결과를 인쇄하는 코드가 없으면 우리는 당신을 도울 수 없습니다. –

+0

예, 동일한 질문 (http://stackoverflow.com/questions/2013668/having-more-issues-with-mysqli-numerical-data-in-results) 인 것 같습니다. 짐 : 중복 된 것을 열지 말고 다른 질문을 업데이트/편집하십시오. –

+0

지미, 다른 게시물로 넘어 가면 필요한 코드보다 더 많은 코드가 표시됩니다. 문자 그대로 코드를 게시 한 다음 일부를 게시했습니다. 예, 저는 같은 포스터입니다. – jim

답변

0

먼저 ';'을 사용한다는 점에서 구문 오류가 있습니다. 내부 쿼리와 작성 프로 시저 둘 다. "DELIMITER = '//';" "END //"를 사용하십시오. 그러나 여전히 ';' 내부 질의에

DELIMITER '//' 
CREATE PROCEDURE... 
    .. 
END// 
DELIMITER ';' 
+0

안녕하세요 토르, proc 이미 만들어져 있으며 내가 만든 후 DDL을 볼 때, 이것이 무엇을 보여줍니다. 내가 만들었을 때, 나는 네가 제안한 것을 정확히했다. 세미콜론에 대해 좀 자세히 설명해 주시겠습니까? 나는 이해하지 못한다. – jim

+0

방금 ​​제안을 사용하여 proc을 다시 작성했습니다. 나는 지금 그것을 시험 할 것이다. – jim

+0

Nope ... proc을 삭제하고 다시 작성한 후에도 여전히 PHP 코드에서이 값을 얻고 있습니다. – jim

관련 문제