У меня есть $user->id = '1{3}4{5}6';//could be any and more but {X}X are pairs
Я требую для каждой пары вставки db.
Как я могу извлечь значения и выполнить следующее выполнение db:
//Something like for each ?? as option and ?? as $value do: $sth = $this->dbh->prepare("insert into customers_basket_attributes ( products_id, products_options_id, products_options_value_id ) values (?, ?, ?)"); $sth->execute(array($user->id, $option, $value));
Текущий код с принятым ответом от * Anubhava *
if ($user->attr = 1) { if (preg_match_all('/\{(\d+)\}(\d+)/u', $user->id, $m )) { $option1 = $m[1]; $value2 = $m[2]; $output = array_combine ( $option1, $value2 ); $sth = $this->dbh->prepare("insert into customers_basket_attributes (customers_id, products_id, products_options_id, products_options_value_id) values ('1', ?, ?, ?)"); foreach($output as $option => $value) { $sth->execute(array($user->id, $option, $value)); } } } return json_encode(1);
Кажется, готовятся к подготовленным заявлениям.