我正在尝试更新而不替换空字段,例如,如果我有字段编号1并且它是空的没有任何事情发生在数据库中但如果字段编号2有一些内容我希望它更新。发生的事情就是当我这样做时,空字段进入数据库并将字段的内容替换为空值。
我需要一个如何做的例子。
PD:我正在使用PHP OOP。
这是我的疑问:
$conio = "UPDATE affiliates SET nickname = '$nickname', fullname = '$fullname' , email = '$email', skype = '$skype', country = '$country', address = '$address', city = '$city', zip = '$zip', bankname = '$bankname', bankaccount = '$bankaccount', beneficiary = '$beneficiary', username = '$username', password = '$password', whene = '$whene' WHERE id = '$users'";
mysqli_query($this->link, $conio) or die (mysqli_error($this->link));
答案 0 :(得分:0)
示例:如果要更新值不为空的输入。
<?php
...
$sql = "UPDATE affiliates SET ";
$sql_where = "WHERE id = '$users'";
$sql_set = "";
$firstName = $_POST['firstName'];
if(!empty($firstName))
$sql_set .= "firstName = '$firstName',";
$lastName = $_POST['lastName'];
if(!empty($lastName))
$sql_set .= "lastName = '$lastName',";
和所有其他输入相同的事情...... ...
mysql_query($sql.$sql_set.$sql_where);
当然有更好的方法来编写这段代码(例如:在$ _POST的元素上使用for循环),但这就是概念,...