У меня есть значение в формате ниже, и я хочу преобразовать этот ключ и значение в форму взрыва, чтобы вставить значение в базу данных в 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, и я сохраняю указанное выше значение в этом поле в форме взрыва, что-то вроде этого ключ: Всего_кубических_метров,Спальня_Колыбель,Спальня_Прикроватные_Ящики,Спальня_Прикроватные_Ящики,Спальня_Прикроватный_Таблица
Стоимость: 3,46 м³, 2, 2,2






Вы можете использовать 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";
}
@Sheenu несколько вставок? Вы можете повторить этот код пару раз или создать функцию вставки нескольких строк для обработки нескольких строк, которые вы хотите вставить.
У меня есть форма, в которой есть 150 полей, и я хочу вставить только то значение, которое имеет данные, и у меня есть это значение, которое имеет данные в формате выше массива, но я хочу сохранить эти данные в 1 строке, потому что в настоящее время они хранятся в нескольких ряд
Вам нужно будет выбрать строку, которую вы хотите вставить, а затем построить и подготовить для нее запрос. Как вы определяете, какие строки вы хотите вставить? Возможно, вы ищете array_filter()(чтобы отфильтровать запись)?
foreach($_POST as $key=>$value) { if ($key != 'отправить') { if ($value!='') { $info = array( 'key_name'=>mysql_real_escape_string($key), 'value_name'=>mysql_real_escape_string($value), );}}}
из приведенного выше кода я нашел ключ и значение, у которых есть данные
Тогда почему вы не можете вставить эту строку?
он хранится в нескольких строках, но я хочу сохранить все значения в одной строке
Взгляните на этот ответ здесь, это может быть то, что вы ищете stackoverflow.com/a/2098689/5066625. Если это так, дайте мне знать, и я отменю свой ответ здесь.
Попробуйте код ниже
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;
}
в форме есть так много значений, таких как "Bedroom_Bassinette", так как я могу определить это