2013-06-24 4 views
0

PHP를 사용하여 SQL 쿼리 결과를 반복하는 데 문제가 있습니다.PHP oci_fetch_array가 JOIN 쿼리에서 while 루프를 건너 뜁니다.

하나의 테이블 만 쿼리 할 때 스크립트가 제대로 작동하지만 조인을 사용할 때 내 while 루프를 완전히 건너 뜁니다.

예컨대

$query = "SELECT * FROM WFH_USER_DETAILS WHERE USERNAME='$username'"; 

$result = oci_parse($con, $query); 

if(oci_execute($result)) { 

    while($row = oci_fetch_array($result, OCI_ASSOC+OCI_RETURN_NULLS)) { 

        echo 'Working'; 

    } 

위의 내용은 정상적으로 작동하지만 시도해보십시오.

$query = "SELECT ud.*, t.TOTAL_STEPS FROM WFH_USER_DETAILS ud, WFH_TOTALS t WHERE ud.USERNAME=t.USERNAME AND ud.USERNAME='$username'"; 

$result = oci_parse($con, $query); 

if(oci_execute($result)) { 

    while($row = oci_fetch_array($result, OCI_ASSOC+OCI_RETURN_NULLS)) { 

       echo 'Working'; 

    } 

oci_execute 두 경우에 잘 작동하지만, 후자 심지어 겉으로 단지 while 루프를 건너 뛰는 ... 내 에코에 도달하지 않습니다. 조인을 사용할 때 다른 구문이 있는지 확인하기 위해 문서를 살펴 보았지만 아무 것도 찾을 수없는 것 같습니다.

어떤 도움도 좋은 것입니다. 감사합니다 :)

+1

아마도'$ row = oci_fetch_array ($ result, OCI_ASSOC + OCI_RETURN_NULLS)'이 거짓입니까? 데이터베이스에 대해 직접 쿼리를 실행 했습니까? 그것이 뭔가를 반환하는지 확인하십시오. – maialithar

+0

터미널에서 데이터베이스 소프트웨어를 통해 쿼리를 실행하면 쿼리가 올바르게 작동합니다. –

답변

0

사용

ps -ef and/or ls -ltr 

는 아파치/PHP는 실행중인 프로세스를 가지고 어떤 사용자가 볼 수 있습니다.

는 다음을 수행하십시오 PHP는 'www가 데이터'라는 사용자 및 그룹을 사용하는 경우

chown (username):(group) thatfile.php 

예를 들어, 내가 이런 짓을 했을까 : 그런 다음

chown www-data:www-data myquery.php 

:

chmod 755 myquery.php 
관련 문제