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 루프를 건너 뛰는 ... 내 에코에 도달하지 않습니다. 조인을 사용할 때 다른 구문이 있는지 확인하기 위해 문서를 살펴 보았지만 아무 것도 찾을 수없는 것 같습니다.
어떤 도움도 좋은 것입니다. 감사합니다 :)
아마도'$ row = oci_fetch_array ($ result, OCI_ASSOC + OCI_RETURN_NULLS)'이 거짓입니까? 데이터베이스에 대해 직접 쿼리를 실행 했습니까? 그것이 뭔가를 반환하는지 확인하십시오. – maialithar
터미널에서 데이터베이스 소프트웨어를 통해 쿼리를 실행하면 쿼리가 올바르게 작동합니다. –