我正在构建一个表单来更新多列数据.此代码已部分成功用于我的目的.剩下要做的唯一事情就是包含(如果IS NOT NULL)更新查询.我不知道该如何解决这个问题.
换句话说,如果$ _POST值不为空,我只希望执行UPDATE.
<form>
<input type='text' name='input1' />
<input type='text' name='input2' />
<input type='text' name='input3' />
<input type='submit' value='submit' />
</form>
<?php
//db connect
$1=$_POST['input1'];
$2=$_POST['input2'];
$3=$_POST['input3'];
mysql_query("UPDATE table
SET a = $1
b = $2
c = $3
WHERE row = 'row_id");
);
?>
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
(为了避免一些额外的输入,我的原始代码会转义字符,因此不需要警告SQL注入.我也正在熟悉"mysqli_query",因此无需对此进行评论.)
Joh*_*Woo 19
您可以使用 COALESCE
UPDATE table
SET a = COALESCE($1, a),
b = COALESCE($2, b),
c = COALESCE($3, c)
WHERE row = ''
Run Code Online (Sandbox Code Playgroud)