仅当值不为null时才使用PHP/MYSQL UPDATE

pso*_*sen 3 php mysql forms

我正在构建一个表单来更新多列数据.此代码已部分成功用于我的目的.剩下要做的唯一事情就是包含(如果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)