db2_ fetch_ assoc () 在从某些地方调用时找不到下一行 - 尽管记录板上有更多行 。
go查询DB2() 连接到数据库并运行查询。 它能够使用 db2_ fetch_ assoc () 和 recordet () 中的第二行返回记录框中的第一行, 并调用外部函数获取 NextRowDB2( ) 。
从此函数返回记录板资源( 结果 ) 。 然而, 当获得下RextRowDB2( ) 时, 以 $Blus 提供参数再次调用 $Blus 时, 记录板中的第三行没有返回 - 事实上它找不到任何东西, 并发出警告( 警告: db2_ fetch_assoc () [ 函数. db2- fetch-assoc] : Fetch Dault) 。
您可以从“ 在 资源 id # 12 中找不到结果” 的输出中看到, 资源的名称已被有效传递到获取下RowDB2( 2) 函数 - 但出于某种原因, 它在该记录板中找不到任何行 。
有人能告诉我发生了什么吗?
是否有什么东西使得 DB2 记录资源无法在它被命名的函数之外进入?
在 MySQL (我必须转换为 DB2) < strong > this works ok in MySQL ( <% 1\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ < \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
所以这个代码:
function goQueryDB2($sql)
{
if($con = db2_connect("MASTER", "USER", "PASSWORD"))
{
echo "<li>Connected to master database</li>";
}
if($result = db2_exec($con, $sql))
{
echo "<li>SQL Query ran successfully</li>";
}
//Just proving some data can be returned as this point
$row = db2_fetch_assoc($result);
if(sizeof($row) > 0)
{
echo "<li>db2_fetch_assoc returned a record in the resultset (Resource ID: " . $result . ") that has " . sizeof($row) . " fields</li>";
}
//Just proving some data can be returned as this point
$row = getNextRowDB2($result);
if(sizeof($row) > 0)
{
echo "<li>getNextRow() returned a record in the resultset (Resource ID: " . $result . ") the has " . sizeof($row) . " fields</li>";
}
return $result;
}
function getNextRowDB2($result)
{
if($row = db2_fetch_assoc($result))
{
return $row;
}
else
{
echo "<li>No results found in " . $result . "</li>";
}
}
echo "<h2>goQueryDB2()</h2>";
$result = goQueryDB2("SELECT * FROM users");
echo "<h2>getNextRowDB2()</h2>";
$row = getNextRowDB2($result);
生成此输出 :
goQueryDB2()
Connected to master database
SQL Query ran successfully
db2_fetch_assoc returned a record in the resultset (Resource ID: Resource id #12) that has 25 fields
getNextRow() returned a record in the resultset (Resource ID: Resource id #12) the has 25 fields
getNextRowDB2()
Warning: db2_fetch_assoc() [function.db2-fetch-assoc]: Fetch Failure in /home/portal/includes/functionsSecurity.php on line 262
No results found in Resource id #12