我有這個php的情況下執行時,我的主頁中的函數調用。當我輸入像這樣的變量時:$ tutorReasonString =「我很好,工作。」和$ clientReasonString =「我也很好,謝謝你的詢問」,這裏沒有什麼錯。但是當我嘗試用pg_fetch_array()獲取它們時,我得到了返回的NULL值。儘管爲空檢查,爲什麼pg_fetch_array返回null?
請注意,tutorabsence和clientabsence表沒有與任何類型的SQL觸發器連接,我只在另一個執行中爲它們分配完全相同的id,這是使用php從另一個表的行中檢索到的。
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