JOIN查询上的PHP oci_fetch_array跳过while循环


PHP oci_fetch_array on JOIN query skipping the while loop

使用PHP循环SQL查询的结果时遇到一些问题。

当我只查询一个表时,脚本运行良好,但当使用联接时,脚本完全跳过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循环。我查看了文档,看看在使用联接时是否有不同的语法,但似乎什么都找不到。

任何帮助都会很棒。感谢:)

使用

ps -ef and/or ls -ltr

查看哪个用户正在运行apache/php进程。

然后执行:

chown (username):(group) thatfile.php

例如,如果PHP使用一个名为"www data"的用户和组,我会这样做:

chown www-data:www-data myquery.php

然后:

chmod 755 myquery.php