2010-04-19 1 views
0

Я использую следующий код, но не могу вернуть данные из MySQL.Не удается вывести json из MySQL - получение нулевого значения

Это выход:

<script type="text/javascript"> 
    var somethings= [null,null,null]; 
</script> 

Он имеет три поста, но я не мог получить название (сообщение) выход.

EDIT: это код, я использую:

<?php 

    $session = mysql_connect('localhost','name','pass');  
    mysql_select_db('dbname', $session);  

    $result= mysql_query('SELECT * FROM posts', $session); 
    $somethings= array(); 
    while ($row= mysql_fetch_assoc($result)) { 
     $somethings[]= $row['something']; 
    } 
?> 

<script type="text/javascript"> 
    var somethings= <?php echo json_encode($somethings); ?>; 
</script> 

Это таблица:

сообщение Попробуйте iPhone пост! Добро пожаловать в Yo ~ :) 好 快!

+1

Существует недостаточно информации, чтобы знать, что не так. Пожалуйста, предоставьте дополнительную информацию и отформатируйте сообщение, чтобы его можно было прочитать. –

+2

Я предполагаю, что в таблице сообщений ничего нет ... – SeanJA

+1

Вы устанавливаете '$ row ['something']', но в таблице нет столбца 'something'. Это так же просто, как и получается. – mattbasta

ответ

1

Похоже, что $row['something'] возвращает нулевое значение для каждой строки. Убедитесь, что у вас есть соответствующие данные для вывода.

+0

, так что я должен положить? любые предлагают? – sky

+0

проверьте, что имена полей находятся в таблице «posts». Очевидно, что возвращается 3 записи, но вы ищете неправильные имена. если в возвращаемой строке не существует поля 'something', PHP с радостью автоматически переместит переменную в« null »и назначит ее вашему массиву $ somethings. Это плохая практика, чтобы сделать «select *». Не ленитесь и всегда указывайте имена полей, которые вы хотите получить. –

-2

Попробуйте array_push ($ somethings, $ row ['something']);

Кроме того, лучше использовать ajax для извлечения данных, чем для прямого назначения строки.

+0

Это просто другой способ написать то, что автор уже имеет. Это не решит проблему. – mattbasta

0

Сделайте var_dump($row) внутри своей петли, чтобы узнать, что возвращает ваша база данных. Он выведет содержимое каждой строки. Отправьте результаты здесь. Мы не можем диагностировать проблему с фиктивными значениями, как вы задали свой вопрос. Я собираюсь сделать ставку, что вы пытаетесь выбрать столбец из таблицы, которая не существует. Отправьте свой точный код.

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