如何确定是不是在 PHP 中返回了 SQL 结果?

Posted

技术标签:

【中文标题】如何确定是不是在 PHP 中返回了 SQL 结果?【英文标题】:How can I determine if an SQL result has been returned in PHP?如何确定是否在 PHP 中返回了 SQL 结果? 【发布时间】:2014-02-05 15:44:37 【问题描述】:

我正在尝试调整表,使其仅在返回 SQL 结果时显示。如果没有返回值,则不显示该表。这是我所拥有的:

## PPAP Information
$q23 = "SELECT * FROM $modlible.P0353 JOIN $amflible.CUSMAS ON PCUSNO = CUSNO WHERE PITEM='$id'";
$stmt23 = db2_prepare($con, $q23);
$result23 = db2_execute($stmt23);
$fin23 = db2_fetch_assoc($stmt23);

如何检测结果是否已返回给我?

【问题讨论】:

检查NULL值的结果? 【参考方案1】:

这可能会有所帮助

$iRows = db2_num_rows($stmt23);
if ($iRows > 0) 
   //Do if zero results
 else 
   //Do if more results

或者你可以检查

if ($fin23) 
    //Row was fetched

【讨论】:

好主意。无法让它工作。我在 $iRows 上做了一个 var_dump 并在这两种情况下都得到了 int(-1) 。但这没有意义,因为如果返回结果,该数字应该会改变。 if (!$fin23) //空白 else //返回结果【参考方案2】:

您可以检查返回的 SQL 代码。如果代码是 SQL0100 (+100),则表示没有返回任何行。

【讨论】:

这样,我的 php 日志文件中出现错误。我宁愿做其他事情,因为我经常使用该日志,而且当您遇到一堆不必要的错误时,它会很困难。【参考方案3】:

如果没有结果,您的 while 循环将不会循环

while($fin23 = db2_fetch_assoc($stmt23))
    // print your results

【讨论】:

这样,我的 PHP 日志文件中出现错误。我宁愿做其他事情,因为我经常使用该日志,当您遇到一堆不必要的错误时,它很难。

以上是关于如何确定是不是在 PHP 中返回了 SQL 结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用PDO在PHP中获取结果数组?

php字符串操作 如何确定一个字符是不是在字符串中strpos函数貌似返回位置 若该字符在开头则返回0就是假了

如果嵌套查询在 SQL Server 中是不是有结果,如何返回是或否?

如何从 SQL 返回的结果中选择结果

如何使用MariaDB返回本地时间SQL结果

PHP如何将SQL查询结果转为多维数组,并按查询行输出