2015-06-03 2 views
2

У меня есть запрос mysqli, который возвращает multidimensional array.PHP json_encode array (3) return false

Я пытаюсь зашифровать массив PHP:

array(3) { 
    [0]=> 
    array(8) { 
    ["cod_evento"]=> 
    string(1) "3" 
    ["titulo"]=> 
    string(20) "Fiesta de cumpleaños" 
    ["descripcion"]=> 
    string(23) "Mi fiesta de cumpleaños" 
    ["puntuacion"]=> 
    string(1) "1" 
    ["direccion"]=> 
    string(13) "c/ falsa 1234" 
    ["imagen"]=> 
    string(115) "http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg" 
    ["fecha"]=> 
    string(19) "2015-01-01 00:00:00" 
    ["cod_usuario"]=> 
    string(1) "1" 
    } 

    [....] 
} 

Но когда я пытаюсь json_encode($array) возвращает bool(false)

Когда я пытаюсь кодировать массив (2) или (1), то его работает.

+3

Я не вижу никаких проблем. Он должен работать нормально. Можете ли вы разместить больше кода? – Andrew

+1

В случае отказа от кодирования, [json_last_error()] (http://php.net/manual/en/function.json-last-error.php) может использоваться для определения точного характера ошибки. ... так что вы пытались проверить, что это за ошибка? –

+0

Спасибо, json_last_error() возвращает JSON_ERROR_UTF8. одна строка содержала:. –

ответ

2

Из документов

http://php.net/manual/en/function.json-encode.php

Возвращает JSON закодированный строку в случае успешного завершения или FALSE в случае неудачи.

, чтобы увидеть причину отказа

http://php.net/manual/en/function.json-last-error-msg.php

Чтобы ответить на этот вопрос в комментариях

json_encode produce JSON_ERROR_UTF8 from MSSQL-SELECT