Basically I have this array that I want to change into a database query
Array
(
[table] => menu
[fields] => Array
(
[mid] => menu_admin
[language] => EN
[name] => Admin
)
)
Array
(
[table] => user
[fields] => Array
(
[uid] => 1
[rid] => admin
[first_name] => Admin
[last_name] => Admin
[email] => contact@admin.com
[password] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[date_register] => Zend_Db_Expr Object
(
[_expression:protected] => NOW()
)
[last_connexion] => NULL
[enable] => 1
)
)
and so on...And I'd like to have it like this:
INSERT INTO `menu` (`mid`, `language`, `name`) VALUES
('menu_admin', 'EN', 'Admin');
INSERT INTO `user` (`uid`, `rid`, `first_name`, `last_name`, `email`, `password`, `date_register`, `last_connexion`, `enable`) VALUES
(1, 'admin', 'Admin', 'Admin', 'contact@admin.com', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', '2014-02-27 15:33:45', '0000-00-00 00:00:00', 1);
Here's what I tried :
foreach ($query as $sql) {
$keys = rtrim(explode(", ", array_keys($sql['fields']), ",")); //<--Here
$fields = rtrim(explode(", ", $sql['fields']), ","); //<--And here
$sql = sprintf("INSERT INTO %s (%s) VALUES (%s)", $sql['table'], $fields, $keys);
}
var_dump($sql);
Here's the Error : explode() expects parameter 2 to be string, array given
But I just can't quite work out how I achieve it. Any help with this? Thanks.