それで、私はそれほど長い間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 つの関数からの戻り値が文書化されていないようです。