У меня этот случай php выполняется при вызове функции на моей главной странице. Когда я ввожу свои переменные следующим образом: $ tutorReasonString = «Я в порядке и работаю». и $ clientReasonString = «Я тоже в порядке, спасибо, что спросил», здесь нет ничего плохого. Но когда я пытаюсь получить их с помощью pg_fetch_array(), я получаю возвращаемые значения NULL.Почему pg_fetch_array возвращает значение null, несмотря на нулевую проверку?
Обратите внимание, что таблицы tutorabsence и clientabsence не связаны с каким-либо триггером SQL, я назначаю им только один и тот же идентификатор в другом исполнении, который извлекается из строки другой таблицы с 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», или это только один? – Xorifelse