0

それで、私はそれほど長い間firebirdを使用していませんが、私が持っているデータベースの検索エンジンを書いています. 何らかの理由でレコードを編集する場合、レコードが変更された理由を尋ねる必要があるフィールドがあります。ユーザーがこの理由を入力しない場合は、別のテーブルにマークして、すべてを追跡します。

そのため、検索結果でこの 2 番目のテーブルにクエリを実行し、null 以外の (誰も変更の理由を入力していない) 結果セットを確認しようとしています。ただし、ibase_query と ibase_fetch_row の両方の戻り値を使用してみましたが、期待どおりに動作しません。

私は php マニュアルから離れていましたが、結果セットに何もない場合、TRUE (ibase_query の場合) または FALSE (ibase_fetch_row の場合) を返す必要があると書かれています。

http://php.net/manual/en/function.ibase-query.php http://php.net/manual/en/function.ibase-fetch-row.php

ibase_fetch_row のコードは次のとおりです。

$query3 = "Select CHANGE_REASON from REASON_FOR_CHANGES where id = $id";
$result3 = ibase_query($link, $query3);

if (ibase_fetch_row($result3) != FALSE) {
   $reasonChange = "<span style='color:red'>".
       "No Reason Given. <a href='changeReason.php?id=$id'>Add Reason</a></span>";
}

ibase_query の場合:

$query3 = "Select CHANGE_REASON from REASON_FOR_CHANGES where id = $id";
$result3 = ibase_query($link, $query3);

if ($result3 == TRUE) {
   $reasonChange = "<span style='color:red'>".
       "No Reason Given. <a href='changeReason.php?id=$id'>Add Reason</a></span>";
}

誰が私が間違っているのか手がかりを持っていますか? 2 つの関数からの戻り値が文書化されていないようです。

4

0 に答える 0