【发布时间】:2013-06-24 13:09:36
【问题描述】:
在使用 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 循环。我查看了文档以查看使用连接时是否存在不同的语法,但我似乎找不到任何东西。
任何帮助都会很棒。 谢谢:)
【问题讨论】:
-
也许
$row = oci_fetch_array($result, OCI_ASSOC+OCI_RETURN_NULLS)返回假?您是否直接针对数据库运行查询?确保它返回一些东西。 -
如果我从终端运行它并通过我的数据库软件,查询工作正常......只是不在脚本中:(