Php 错误和警告:odbc_fetch_row():4不是有效的odbc结果
我在做两个查询 CALCULA_departmento.PHPPhp 错误和警告:odbc_fetch_row():4不是有效的odbc结果,php,ms-access,error-handling,Php,Ms Access,Error Handling,我在做两个查询 CALCULA_departmento.PHP $consulta= "SELECT * FROM Dept INNER JOIN Userinfo ON Userinfo.Deptid = Dept.Deptid where Dept.DeptName = '$departamento'"; 通过这个,我选择了一个部门的所有人员。然后我要做的就是确保它能正常工作 $rs=odbc_exec($conn,$consulta); if
$consulta= "SELECT * FROM Dept INNER JOIN Userinfo
ON Userinfo.Deptid = Dept.Deptid
where Dept.DeptName = '$departamento'";
通过这个,我选择了一个部门的所有人员。然后我要做的就是确保它能正常工作
$rs=odbc_exec($conn,$consulta);
if (!$rs)
{exit("Connection Failed: " . $rs);}
然后检查所有结果,我会这样做:
while (odbc_fetch_row($rs))
{
session_start();
ob_start();
$_SESSION['departamento'] = $departamento;
include_once("calcula_cono.php");
calcularr();
}
odbc_close($conn);
在“the many things”中,您可以调用另一个php,其中包含此查询,以便能够查看一个人的所有细节:
CALCULA_CONO.PHP
function calcularr()
{
$departamento = $_SESSION['departamento'];
$consultaa = "SELECT * FROM Checkinout, Userinfo
where Checkinout.Userid = '$userid' AND
Userinfo.userid = '$userid' AND
Checkinout.Checktime BETWEEN CDate('$fecha_inicio') AND
CDate('$fecha_fin')";
$rss=odbc_exec($conn,$consultaa);
if (!$rss)
{exit("Connection Failed: " . $rss);}
while (odbc_fetch_row($rss))
{ //more things here
}
}
它完成了第一次迭代,并且做得很好。。。但当他不得不做第二个时,我得到了这个错误:
Warning: odbc_fetch_row(): 4 is not a valid ODBC result resource
它完成了第一次迭代,并且做得很好。。。但当他不得不做第二个时,我得到了这个错误:
Warning: odbc_fetch_row(): 4 is not a valid ODBC result resource
这表示
循环中的某行代码正在撞击结果变量$rss
(或者可能是$rs
,具体取决于调用失败的odbc\u fetch\u row()。仔细检查您的代码,以确保不会无意中为循环内的结果变量赋值。请按原样发布代码(删除不相关的部分),以便我们更轻松地遵循流程。在我看来,您在循环中为两个不同的odbc\u exec()
返回重复使用$rs
。在这种情况下,您将用循环中的一个覆盖外部变量,并破坏所有内容。如果没有看到原始代码,很难说,但可能您只需要在循环中使用不同于$rs
的变量。我会注意到,建议使用它来创建一个适当的参数化查询,而不是将PHP变量放入SQL字符串中。我只是按照你们的建议更改了变量名,但仍然会出现相同的错误。您可以发布整个代码,因为它包含超过450行的代码。您需要从代码中删除不相关的部分。我们需要看到的是在循环中如何进行ODBC调用,而循环中如何进行ODBC调用。请重新检查,我已在代码中添加了一些内容