Я пытаюсь преобразовать массив (ключ/значение) в оператор SQL.Преобразование массива PHP в SQL-файл?
Я использую Mysqli как например:
if(!$result = $mysqli->query($sql)){throw new Exception("SQL Failed ".__file__." on line ".__line__.":\n".$sql);}
У меня есть массив, как, например:
Array
(
[database] => Array
(
[cms_network] => Array
(
[network_id] => 61
[network_name] =>
[network_server_mac_address] => 00:1b:eb:21:38:f4
[network_description] => network
[network_thermostat_reporting_rate] => 5
[network_server_reporting_rate] => 5
[network_data_poll_rate] => 5
[network_created_by] => 38
[network_modified_by] => 1
[network_network_id] => 8012
[network_language] => en
[network_hotel_id] => 68
[network_channel] => 0
[network_deleted] => 0
[network_reported_network_id] => 8012
[network_rooms] => 4
)
)
)
Как я могу конвертировать [cms_network], чтобы выглядеть следующим образом:
$sql = "UPDATE cms_network set network_id='61', network_name='',
network_server_mac_address = '00:1b:eb:21:38:f4', .... WHERE network_id='61'"
Мне больше интересно знать, как объединить пару массива key=>value
в key='value'
в моем выборе.
Спасибо за помощь!
при условии, что вы установили встроенный массив в переменной '$ cms_network', вы можете использовать' Еогеасп ($ cms_network, как $ ключ = > $ value) {} 'и постройте строку запроса. – Yani
Я бы хотел использовать implode(), но не могу понять, как смешать значения с помощью ключей. При иммобилизации массива я получаю только значения: 61,, 00: 1b: eb: 21: 38: f4, network, 5,5,5,38,1,8012, en, 68,0,0,8012, 4. Мне нужно было бы также развязать ключи и сопоставить их как-то. – Drace
'implode()' не делает ассоциативный массив. Вы можете использовать 'array_walk()', но это было бы излишним. – Yani