PHP / MySQL更新,忽略空/空值

时间:2013-11-06 11:17:58

标签: php mysql sql-update

我是PHP / MySQL的新手,需要更新表单的帮助。

我从表单中获取值,在更新查询中,我只想更新id = $ id的非空字段。

实施例;

$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];

$1 = $_POST['number1'];
$2 = $_POST['number2'];
$3 = $_POST['number3'];

$sql = "UPDATE table SET a='$a', b='$b', c='$c' WHERE number='$1' OR number='$2' OR number='$3' ";

但是如果$ b为空或null,则应从更新字符串中排除,但应使用新值更新$ a和$ c。 $ b的allredy现有值应保留在表中。

此致 Chrickis

2 个答案:

答案 0 :(得分:1)

chrickis,你应该在编写代码时遵循php规范但是对于你的问题,你可以在下面进行以下更改

$condition = ''; //create new varible

$b = isset($_POST['b'])?$_POST['b']:""; //check for data in field b

if($b){ $condition = "b='".$b."', "; } //write sql condition if $b has any value

 $sql = "UPDATE table SET a='$a', ".$condition." c='$c' WHERE number='$1' OR number='$2' OR number='$3' "; //modify sql

答案 1 :(得分:0)

我建议首先检查解析的所有值,并在此基础上编写php以进行更新查询。

相关问题