メインページの関数で呼び出されたときにこのPHPケースが実行されました。 $ tutorReasonString = "私はうまく働いています。" $ clientReasonString = "尋ねてくれてありがとう"、何も間違っていません。しかし、pg_fetch_array()でそれらを取得しようとすると、NULL値が返されます。pg_fetch_arrayがnullチェックにもかかわらずnullを返すのはなぜですか?
tutorabsenceテーブルとclientabsenceテーブルはどのような種類のSQLトリガにも接続されていないことに注意してください。別のテーブルの行からPHPで取得された別の実行に同じIDだけを割り当てます。
case "absencePc":
$id = array_search(post("id"), $_SESSION["keyhash"]);
$tutorAbsSql = "SELECT reason FROM tutorabsence WHERE id='$id'";
$tutorReason = pg_query($tutorAbsSql);
if(pg_fetch_row($tutorReason) == NULL) {
$tutorStatus = "0";
$tutorReasonString = "";
} else {
$tutorStatus = "1";
// $tutorReasonString = "I'm working"; This works
// This returns null.
$tutorReasonFetch = pg_fetch_array($tutorReason);
$tutorReasonString = $tutorReasonFetch["reason"];
};
$clientAbsSql = "SELECT reason FROM clientabsence WHERE id='$id'";
$clientReason = pg_query($clientAbsSql);
if(pg_fetch_row($clientReason) == NULL) {
$clientStatus = "0";
$clientReasonString = "";
} else {
$clientStatus = "1";
// $clientReasonString = "I'm working"; This works
// This returns null.
$clientReasonFetch = pg_fetch_array($clientReason);
$clientReasonString = $clientReasonFetch["reason"];
};
$response[] = array("tutorReason" => $tutorReasonString,
"clientReason" => $clientReasonString,
"tutorStatus" => $tutorStatus,
"clientStatus" => $clientStatus);
echo json_encode($response);
break;
[docs](http://php.net/manual/en/function.pg-fetch-array.php)の「いつ」に「null」を返すことができるかどうかチェックするのに苦労しましたか?つまり、それはばかげているように見えますが、関数の動作をあまりにも理解することは私の最初のステップです。 – Xorifelse
明らかに、私は正確なページを何度かチェックしてから、ここで質問をしました。私が逃したものがあるだろう。 – Ahmet
あなたは '$ id'ごとに複数の' reason'を期待していますか、それとも単なるですか? – Xorifelse