Saya menyimpan string json di database yang tampaknya disimpan dengan benar di SQL Server, namun ketika mencoba mengambil data, ia hanya mengembalikan sebagian dari string json.
Saya menggunakan PDO dan json_encode untuk menyimpan data. String json yang disimpan panjangnya sekitar 1000 karakter, dan bidang tabel mengizinkan panjangnya 4096.
Mengambil hasil:
$sql = "SELECT TOP 1 * FROM MyTable WHERE id = :id ORDER BY id DESC;";
$params = array(
":id" => $id
);
$sth = $this->db->prepare($sql);
$sth->execute($params);
$result = $sth->fetch(PDO::FETCH_ASSOC);
Menyimpan hasil:
$json = json_encode($_POST);
$sql = "INSERT INTO MyTable(data) VALUES (:data);";
$params = array(
":data" => $data
);
$stmt = $this->db->prepare($sql);
$stmt->execute($params);
Contoh Json yang disimpan di SQL Server:
{
"checkbox_1":"on",
"checkbox_2":"on",
"checkbox_3":"on",
"text_1":"my text",
"images":[
13685
],
"date":"11-11-2015"
}
Contoh Json dikembalikan:
{
"checkbox_1":"on",
"checkbox_2":"on",
"checkbox_3":"on",
"text_1
Perbarui
Tampaknya panjang string yang dikembalikan selalu: 255
Mungkinkah ini konfigurasi SQL Server atau mungkin PDO?
echo strlen($json);
- person Steve   schedule 11.11.2015VARCHAR
sebagai tipenya? - person Jake Bathman   schedule 11.11.2015utf8_encode()
sebelum menggunakanjson_encode()
tetapi saya masih belum berhasil - person iswinky   schedule 12.11.2015