2010-04-19 6 views
0

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

Это выход:

<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 ~ :)

好 快!

ответ

3

Почему вы используете $ строки [ 'что-то'] в теле цикла? Вам это не нужно.

Попробуйте такой код:

$somethings = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $somethings[] = $row; 
} 
+0

Дa, это работает отлично, спасибо, еще один вопрос, как я получить результат как: вар нечто = { "Добро пожаловать в Yo ~ :)"}, { «Попробуйте iPhone post!»}, {"Message": "????"}; вместо var somethings = [{"message": "Welcome to Yo ~ :)"}, {"message": "Try iPhone post!"}, {"message": "????"}]; с поддержкой китайского символа? – sky

+0

json_encode() работает с кодированными данными UTF-8. Возможно, у вас проблемы с подключением MySQL, который не работает в UTF-8? Попробуйте добавить дополнительный запрос перед запросом «SELECT»: mysql_query («SET NAMES 'utf8'"); –

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