Intereting Posts
Как извлечь каждый понедельник и каждый раз в две недели понедельника из диапазона двух дат в PHP? yii CMultiFileUpload остановить поведение по умолчанию Получение информации из массива внутри массива (php) Сбросьте все, кроме буквенно-цифровых и европейских символов в PHP PHP удаляет все кепки Ошибка подключения PHP MySQL – реализация логики повтора mysqli_stmt :: bind_param Число переменных не соответствует количеству параметров в подготовленном операторе Codeigniter Класс Наследование между модулями (wiredesigns) – снова Как заблокировать IE8 и вниз? Как работает проверка идентификатора OpenID? Любой способ получить все строки таблицы, где внешний ключ совпадает с первичным ключом, используя только модели, а не напрямую обращаться к базе данных? .htaccess не может анализировать PHP в файлах HTML в корневой папке Действие HTML-формы с использованием php-файла вне корневого каталога? Лучший способ отправить UL через POST? Не получить ответ на вызов AJAX для PHP (с данными JSON)

Переменная становится NULL в выражении IF

while ($row = mysql_fetch_array($results)) { $results_array[$row['post_id']] = $row; $arr = array($row[2] => $row[3]); $location = trim($arr[cp_check_where_to_show_video]); $video = trim($arr[cp_embed_video]); echo $video; if($location=='Video of the Day') { echo $location."\n"; echo "---"; echo $video; echo "---"; } } Output: Video Text Video of the Day ------- NULL 

Вот что. Предположим, что у меня есть код выше, «видео» были получены из базы данных. До сих пор у меня нет проблем с моими запросами, пока я не добавил оператор if.

Первое эхо выводит ожидаемые результаты, но внутри оператора if «видео» становится NULL. Я мог бы получить инструкцию if и выводить что угодно, кроме $ video.

Может кто-нибудь рассказать, что пошло не так, или, возможно, ошибается в вышеупомянутых заявлениях? Weird.

(На самом деле комментарий, но добавление кода, так что здесь)

Решение отладки 1: добавление отчетов об ошибках; незадолго до этого, добавьте

 error_reporting(E_ALL); ini_set('display_errors', 'on'); 

и посмотри, что это тебе дает.

Решение отладки 2:

Может быть случай «Редактор вставил странный характер, который я не вижу». Предложение состоит в том, чтобы ПОЛНОСТЬЮ удалить строки внутри оператора if (выберите всю строку, нажмите delete), а также строки, которые ссылаются на $ video, и повторно введите их вручную (без копирования / вставки). Скрытые персонажи случаются – и единственное решение, о котором я могу думать.

Часто люди забывают и используют = вместо == в сравнении. Он устанавливает условие в true и если $video находится в состоянии, вы можете случайно установить для $video значение null .

Я не знаю, но это может быть так.

В первый раз, когда он перехватывает $ video, но не входит в if . Второй раз это NULL, поэтому он не var_dumps ничего, кроме как идет, если var_dumps NULL

РЕДАКТИРОВАТЬ

Например, поставьте echo '----'; над вашим echo $video; проверить, является ли результат чем-то вроде

 ---- video text ---- Video of the Day NULL 

Если у вас есть что-то вроде

 ---- video text Video of the Day NULL 

то это полная тайна для меня.