我想要更新的嚴格條件,但它不在這裏工作。我的意思是如果level1用戶登錄並更新一個來自並提交這個領域屬於level2獲得空。 我從用戶級別輸入並僅輸入它們。還有隱藏的字段也用空值更新。有辦法只更新用戶級別字段而不影響隱藏字段。或操作員不嚴格在MySQL中工作php
if(!empty($_REQUEST['update'])){
$sql = "SELECT * FROM `tabl1` WHERE `ID` = ".$_REQUEST['update'];
$query = mysql_query($sql);
$res = mysql_fetch_array($query);
$IndexNo= $_POST['IndexNo'];
$ZoneID = $_POST['ZoneID'];
$NameofCoordinator= $_POST['NameofCoordinator'];
$GridNumber= $_POST['GridNumber'];
$MobileNumber= $_POST['MobileNumber'];
$StatusID= $_POST['StatusID'];
$sql="UPDATE `tabl1` SET `IndexNo` = '$IndexNo',`ZoneID` = '$ZoneID'";
$sql .= if($userName =='admin' || 'level1'){ ",`NameofCoordinator` = '$NameofCoordinator'"; }
$sql .= if($userName =='admin' || 'level2'){ ", `GridNumber` = '$GridNumber'"; }
$sql .= if($userName =='admin' || 'level3'){ ",`MobileNumber` = '$MobileNumber'"; }
$sql .= ",`Keyword` = '$Keyword', `StatusID` = '$StatusID' WHERE `ID` = ".$_REQUEST['update'];
}
''levelX''是不是一個比較 – kero
此外,你的代碼是可怕容易受到SQL注入。請參閱http://www.php.net/manual/en/security.database.sql-injection.php例如,如果$ _REQUEST ['update']'爲'999 OR 1 = 1',則查詢將更新表中的_all_行。 – Piskvor
什麼數據庫字段包含級別信息(level1,level2等)? – Agilox