Я знаю, что мог бы сделать что-то вроде следующего, не используя массивы, но я не знаю, как использовать подготовленный оператор в этом случае
Код: Выделить всё
if (!empty($user_last)) {
$update_values[] = "user_last='".$user_last."'";
}
$update_values_imploded = implode(', ', $update_values);
if (!empty($update_values)) {
$q = "UPDATE users SET $update_values_imploded WHERE user_id='$userid' ";
$r = mysqli_query($conn,$q);
if ($r) {
$_SESSION['success_msg'] = 'profile updated!';
header("location: ../client_profile.php");
exit();
}
}
Код: Выделить всё
$merged_array = array_unique(array_merge($database_rows, $form_data));
Это полный код с симуляцией массива from
Код: Выделить всё
$km_user_id = 2;
// this array comes from the form
$from_array = array(
'km_user_first_name' => 'Antonio',
'km_user_last_name' => 'Acri',
'km_user_address' => 'via pola',
'km_user_city' => 'roma',
'km_user_city_prov' => '',
'km_user_postcode' => '',
'km_user_email' => '',
'km_user_website' => 'url',
'km_user_telephone' => '123456',
'km_user_mobile' => '',
'km_user_fiscalcode' => '',
'km_user_document' => '',
'km_user_document_number' => '',
'km_user_document_exp' => '',
'km_user_birth_place' => '',
'km_user_birth_date' => ''
);
// select vakues from database
$query= "SELECT km_user_first_name, km_user_last_name, km_user_address, km_user_city, km_user_city_prov, km_user_postcode, km_user_email, km_user_website, km_user_telephone, km_user_mobile, km_user_fiscalcode, km_user_document, km_user_document_number, km_user_document_exp, km_user_birth_place, km_user_birth_date FROM km_users WHERE km_user_id= ?";
$stmt = mysqli_prepare($db_user_conn, $query);
mysqli_stmt_bind_param($stmt, 'i', $km_user_id);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
print_r($row);
?>
Подробнее здесь: [url]https://stackoverflow.com/questions/54270889/update-database-table-row-with-submission-data-and-set-new-values-to-null-if-emp[/url]
Мобильная версия