【问题标题】:PHP - Check whether oracle query return 0 row or notPHP - 检查oracle查询是否返回0行
【发布时间】:2015-01-25 14:28:46
【问题描述】:

我确实从 PHP 中的 oracle 数据库中进行选择,并将结果数组放入变量中。 这是我的变量$day 中的数组格式:

Array
(
    [START_EXECUTION] => Array
        (
            [0] => 20-NOV-14
            [1] => 21-NOV-14
            [2] => 22-NOV-14
        )

    [NUM_OF_POPULATION] => Array
        (
            [0] => 6355
            [1] => 6521
            [2] => 6740            
        )

    [SUM_AMOUNT] => Array
        (
            [0] => 366907360.38
            [1] => 386256312.15
            [2] => 404543462.06           
        )    
) 

但有时查询会返回 0 行。所以我应该检查查询是否返回 0 行。如果没有,我将处理数组并以表格形式显示(工作正常)。但如果它返回 0 行,我会显示 'Data not found'(不起作用)

这是我的代码

<?php
    if(count($day)>0){ //Checking row num

    echo '<table class="table table-hover">';

    $cols = array_keys($day);

    echo '<tr>';
    foreach ($cols as $col) echo '<th>' . $col . '</th>';
    echo '</tr>';

    foreach ($day[$cols[0]] as $i => $null) {
        echo '<tr>';
        foreach ($cols as $col) echo '<td>' . $day[$col][$i] . '</td>';
        echo '</tr>';
    }

    echo '</table>';
    }
    else { // Display data not found
    echo '<div class="row well" style="text-align: center">';        
    echo '<h4>Data not found</h4>';
    echo '</div>';
 }
?>

我是否遗漏了我的代码中的某些内容,或者我是否以正确的方式制作了它?感谢您的帮助。谢谢

【问题讨论】:

  • 尝试将这一行 if(count($day)>1) 更改为 if(count($day)>0) 看看是否有效
  • 对不起,它应该是 0 而不是 1。问题已编辑
  • 你用什么函数来创建这个数组? oci PHP 函数?还是 PDO?
  • 只用oci_num_rows()

标签: php oracle notnull


【解决方案1】:

我认为你做的方式很好。

但也许你填充数组的方式会更好(你没有展示你是如何做到的)。

使用 oci_fetch_all 填充数组可能会很好(如果您还没有使用)。该函数同时返回一个包含所有记录的数组,因此您可以计算该函数返回的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-15
    • 2023-03-31
    • 2021-09-12
    • 2017-02-11
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多