【问题标题】: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值的结果?

标签: php sql db2 conditional ibm-midrange


【解决方案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 日志文件中出现错误。我宁愿做其他事情,因为我经常使用该日志,当您遇到一堆不必要的错误时,它很难。
猜你喜欢
  • 2020-11-17
  • 2019-07-20
  • 2014-10-29
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
相关资源
最近更新 更多