MySQLテーブルにいくつかのデータが保存されており、それをPDOで取得します。この関数はクエリの結果を配列に入れ、すべてのフィールドが存在します。
Array (
[0] => Array ( [id] => 1 [nome] => Oggetto 1 [descr] => Questa è la favolosa descrizione dell'oggetto 1 [prezzo] => 50.00 [imgpath] => dummy.jpg [url] => http://localhost/ [cat] => 1 [avail] => 1 )
[1] => Array ( [id] => 2 [nome] => Oggetto 2 [descr] => Questa è la favolosa descrizione dell'oggetto 2 [prezzo] => 45.00 [imgpath] => dummy.jpg [url] => http://localhost/ [cat] => 1 [avail] => 1 )
[2] => Array ( [id] => 3 [nome] => Oggetto 3 [descr] => Questa è la meravigliosa descrizione dell'oggetto 3 [prezzo] => 120.00 [imgpath] => dummy.jpg [url] => http://localhost/ [cat] => 3 [avail] => 1 )
[3] => Array ( [id] => 4 [nome] => Oggetto 4 [descr] => Questa è la meravigliosa descrizione dell'oggetto 4 [prezzo] => 200.00 [imgpath] => dummy.jpg [url] => http://localhost [cat] => 2 [avail] => 1 )
[4] => Array ( [id] => 5 [nome] => Oggetto 5 [descr] => Questa è la fantasiosa descrizione dell'oggetto 5 [prezzo] => [imgpath] => dummy.jpg [url] => http://locahost [cat] => 4 [avail] => 1 ) )
json形式のデータ応答が必要なので、このjson_encode
関数を使用してPHP配列をJSON形式のデータに変換しますが、次の出力からわかるように、フィールドdescr
が欠落しているため、理由がわかりません。
[
{"id":"1","nome":"Oggetto 1","descr":null,"prezzo":"50.00","imgpath":"dummy.jpg","url":"http:\/\/localhost\/","cat":"1","avail":"1"},
{"id":"2","nome":"Oggetto 2","descr":null,"prezzo":"45.00","imgpath":"dummy.jpg","url":"http:\/\/localhost\/","cat":"1","avail":"1"},
{"id":"3","nome":"Oggetto 3","descr":null,"prezzo":"120.00","imgpath":"dummy.jpg","url":"http:\/\/localhost\/","cat":"3","avail":"1"},
{"id":"4","nome":"Oggetto 4","descr":null,"prezzo":"200.00","imgpath":"dummy.jpg","url":"http:\/\/localhost","cat":"2","avail":"1"},
{"id":"5","nome":"Oggetto 5","descr":null,"prezzo":null,"imgpath":"dummy.jpg","url":"http:\/\/locahost","cat":"4","avail":"1"}
]
desc
これは、テーブルのテキストフィールドとして宣言したことが原因でしょうか?もしそうなら、PHP配列からJSON形式のデータに渡すときにそのフィールドのデータが失われないようにするにはどうすればよいですか?