Как вставить значение массива в форме Implode в MySQL - PullRequest
1 голос
/ 14 марта 2019

У меня есть значение в следующем формате, и я хочу преобразовать этот ключ и значение в форме взрыва, чтобы вставить значение в базу данных в MySQL.

 Array
(
[users_ids] => 
[key_name] => Total_Cubic_Metres
[value_name] => 3.46m³
)

Array
(
[users_ids] => 
[key_name] => Bedroom_Bassinette
[value_name] => 2
)

Array
(
[users_ids] => 
[key_name] => Bedroom_Bedside_Drawers
[value_name] => 2
)

Array
(
[users_ids] => 
[key_name] => Bedroom_Bedside_Table
[value_name] => 2
)

У меня есть 2 COLUMN в MYSQL "ключ" и "значение", и я сохраняю вышеупомянутое значение в этом поле в форме взрыва примерно так ключ: Total_Cubic_Metres, Bedroom_Bassinette, Bedroom_Bedside_Drawers, Bedroom_Bedside_Drawers, Bedroom_Bedside_Table

Значение: 3,46 м³, 2, 2,2

Ответы [ 2 ]

0 голосов
/ 14 марта 2019

Попробуйте код ниже

 function insertQuery($table, $dataArray, $connection){
    $dataArray = array_map(array($connection, 'real_escape_string'), $dataArray);
    $keys = array_keys($dataArray);
    $colmuns = implode(",",$keys);
    $values =array_values($dataArray);
    $valueData = implode("','",$values);
    $query = "INSERT INTO $table ($colmuns) VALUES ('$valueData')";
    $result = mysqli_query($connection, $query);

    if($result){
      $id = mysqli_insert_id($connection);
      return $id;
    }
    return false;
 }
0 голосов
/ 14 марта 2019

Вы можете использовать bindParam ( PHP документы ) и писать свои запросы примерно так:

$my_Insert_Statement = $my_Db_Connection->prepare("
INSERT INTO TABLE_NAME (
  Total_Cubic_Metres,
  Bedroom_Bassinette,
  Bedroom_Bedside_Drawers,
  Bedroom_Bedside_Drawers,
  Bedroom_Bedside_Table) 
VALUES (
 :Total_Cubic_Metres,  
 :Bedroom_Bassinette,
 :Bedroom_Bedside_Drawers,
 :Bedroom_Bedside_Drawers,
 :Bedroom_Bedside_Table
)");

, и вы можете добавить их как:

foreach($arr as $colData){
  $my_Insert_Statement->bindParam($colData['key_name'], $colData['value_name']);
}

и выполните подготовленный оператор:

if ($my_Insert_Statement->execute()) {
  echo "New record created successfully";
} else {
  echo "Unable to create record";
}
...