2016-09-26 8 views
1

в PHP, с помощью следующего кода:php Как вставлять разделенные запятыми несколько строк в формате json как одно значение в таблицу mysql?

$j_id = $jData[$j]['itop_id']; 
$res = '"name":"' . $jData[$j]['label'] . '","x":'. $jData[$j]['x'] . ',"y":' . $jData[$j]['y'] . ',"url":"' . $jData[$j]['icon_url'] . '"'; 

я могу получить значение:

$j_id = 1; 
$res = "name":"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-production/itop-config-mgmt/images/business-process.png" 

Когда я пытаюсь вставить значение $ j_id и $ Реза в тузде таблицу со следующим кодом :

$sql = 'INSERT INTO coordinate_info (id,coordinate_res) VALUES ('.$j_id.','. $res.')'; 

я получил ошибку:

Error: INSERT INTO coordinate_info (id,coordinate_res) VALUES (1,"name":"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-production/itop-config-mgmt/images/business-process.png") You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':"AOL network","x":1032.5,"y":180,"url":"http://localhost/pathfind/web/env-produ' at line 1 

Я хочу вставить несколько строк в формате json в таблицу mysql как одно значение столбца. Не могли бы вы дать мне несколько предложений? В php, как я могу сохранить значения, разделенные запятыми, в таблицу mysql как одно значение?

+2

Подготовленные заявления или спасаясь вашу строку было бы неплохо – Naruto

+0

поможет: '$ SQL =«INSERT INTO coordinate_info (идентификатор, coordinate_res) VALUES (". $ J_id.", '$ Res') ";' – devpro

ответ

0

Вы должны действительно использовать подготовленные операторы и параметры. Если безопасность не является проблемой, вы можете просто изменить свой SQL выглядеть следующим образом:

$sql = 'INSERT INTO coordinate_info (id,coordinate_res) VALUES ('.$j_id.',"'. $res.'")'; 
+0

ваш запрос что-то вроде 'INSERT INTO mytable (test) VALUES (" test "") 'не будет работать, я думаю. – devpro

+0

Если вы эхо меняете переменную $ sql, вы получите следующее: INSERT INTO coord_info (id, coord_res) VALUES (1, "string") – CptMisery

+0

нет, его нет, я проверил. – devpro