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

标签 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,您在编写代码时应该遵循 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

关于PHP/MySQL 更新,忽略空/空白值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810678/

相关文章:

php rabbitmq如何检查队列是否存在

php - 如何计算每个视频的独特观看次数

php - reCaptcha 表格样式中断 - 底部似乎有一个额外的边框,按钮周围有白色边框

php - 简单查询耗时较长(~15 秒)

mysql - 计算字段的总和

php - 使用主键引用行进行更新

mysql - MariaDB和MYSQL5.6返回不同的结果

MySQL 从转换为 varchar 的 datetime 中删除剩余时间。子字符串()?

mysql - 一组 ID 的单个更新最后一行条目 - MySQL

mysql - 更新 MySQL 中的唯一键或主键