2014-06-17 168 views
-5

我正在改寫我的問題。更新Mysql,除非字段不爲空

我想編寫一個單一的查詢來繞過字段的更新,當它不是空的字段。

我用下面的代碼更新:

$bouton='Submit'; 
$recu=$_POST; $titre=""; $contenu=""; $reqComplete=""; 
foreach ($recu as $titre => $contenu) { 
    $contenu=trim(addslashes($contenu)); 
    if($titre!=$bouton AND $contenu!=""){ 
     $reqComplete.=$titre."='$contenu', "; 
    } 
} 
$reqComplete=rtrim($reqComplete, ", "); 
$conn = mysql_connect("localhost","name","password") or die("Could not connect to database"); 
$rs = mysql_select_db("name_immigDB",$conn) or die ("Could not select database"); 
$requete="UPDATE form1738 SET $reqComplete where email_address = \"$email_address\""; 
$resultat=mysql_query($requete) or die ("Invalid request : <br /> ".mysql_error()); 
$requete="select max(idimmigDB) from form1738"; 
$rs= mysql_query($requete,$conn); 
$row=mysql_fetch_row($rs); 
$_SESSION[id]=$row[0]; 
mysql_close($conn); 

應該有東西在

$requete="UPDATE form1738 SET $reqComplete where email_address = \"$email_address\""; 

改變,但無法弄清楚什麼。

謝謝。

+6

聽起來像一個計劃,去爲它 – LittleBobbyTables

+0

是否存在(「只有字段,如果它不是空的,但讓它獨立的地方它不是空的」),或者你想改變並離開它? – Jens

+1

可能重複的[只有更新字段是非空](http://stackoverflow.com/questions/10097924/only-update-fields-that-are-not-null) – LittleBobbyTables

回答

0

使用IS運營商NULL

update your_table 
set some_field = 'some value' 
where some_field is not null 

使用= NULL比較,因爲與null結果未知這是不TRUE比較將無法工作。

+2

我會說我很驚訝,這樣的高代表用戶正在回答這樣一個公然低效的問題,但這似乎是現在的常態。我真的需要接受這一點。 – LittleBobbyTables