我在 php 中创建了一个个人资料页面。该页面包括地址和电话字段,并提示用户插入他们的数据。然后将数据保存在我的名为 profile 的表中。一切正常,但问题是表仅在已包含数据时才更新。我该如何修改它(可能是我的函数中的mysql查询),以便即使它是空的,数据也会被输入到表中。我可以使用类似 UPDATE OR INSERT INTO 语法的东西吗?谢谢
<?php
if ( isset($_GET['success']) === true && empty($_GET['success'])===true ){
echo'profile updated sucessfuly';
}else{
if( empty($_POST) === false && empty($errors) === true ){
$update_data_profile = array(
'address' => $_POST['address'],
'telephone' => $_POST['telephone'],
);
update_user_profile($session_user_id, $update_data_profile);
header('Location: profile_update.php?success');
exit();
}else if ( empty($errors) === false ){
echo output_errors($errors);
}
?>
然后通过使用以下功能
function update_user_profile($user_id, $update_data_profile){
$update = array();
array_walk($update_data_profile, 'array_sanitize');
foreach($update_data_profile as $field => $data )
{
$update[]='`' . $field . '` = \'' . $data . '\'';
}
mysql_query(" UPDATE `profile` SET " . implode(', ', $update) . " WHERE `user_id` = $user_id ") or die(mysql_error());
}