2016-06-09 4 views
0

Итак, у меня есть эта функция PHP. Я получаю сообщение «In warningCheck» в моем окне logcat, поэтому нет проблемы с вызовом функции. Но когда я проверяю значения $ Latx и $ Lonx, они являются NULL, хотя данные существуют в таблице. (Timex является миллисекунды начиная с 1970-01-01 00:00:01, расположение является имя таблицы, Latx и Lonx столбцы в таблице)Значение находится в таблице, но выбранное значение равно NULL

// warningCheck function 
function warningCheck(){ 

    echo "In warningCheck function";   

    // get last input of user2 location from separate table 
    $getCycData = mysql_query("SELECT * FROM locationsa ORDER BY Timex DESC LIMIT 1"); 
    $cycDetails = mysql_fetch_row($getCycData); 
    echo "cycDetails" . $cycDetails; 
    $Latx = $cycDetails["Latx"]; 
    $Lonx = $cycDetails["Lonx"]; 

    echo "Values: " . $Latx . " " . $Lonx; 
} 
+0

для этой строки $ cycDetails = mysql_fetch_row ($ getCycData) ;, попытаться использовать $ cycDetails = mysql_fetch_array ($ getCycData); –

+0

'mysql' is Depriciated.' $ cycDetails = mysql_fetch_row ($ getCycData);' даст вам числовой массив. Используйте 'mysqli_fetch_assoc()'. Выполняется ли «echo» «Цикл». $ cycDetails; 'не создавать ошибку преобразования строки массива? – PHPglue

ответ

0

Как PHP документация по mysql_fetch_row() говорит:

mysql_fetch_row() извлекает одну строку данных из результата, связанного с указанным идентификатором результата. Строка возвращается как массив. Каждый столбец результата хранится в массиве смещения, начиная со смещением 0.

Таким образом, либо использовать mysql_fetch_assoc(), если вы хотите получить доступ к полям по имени, или использовать номер столбца для доступа к соответствующим данным.

Обратите внимание, что функции mysql _ *() устарели и не должны использоваться. Вместо этого используйте mysqli или pdo.

Смежные вопросы