【发布时间】:2014-02-10 13:01:51
【问题描述】:
我正在开发一个“updateProfile”网络服务,用户可以通过它更新多个字段中的一个或多个字段,但我不知道如何形成查询。我在想我可以有多个 if isset 条件并根据需要连接到查询中。但是,我会遇到不知道哪些是提前发布的问题,因此不知道是否包含 AND 或逗号等。这是我的起点:
$UpdateTradesman_Query= "UPDATE Tradesmen SET ";
if(isset($_REQUEST['FName'])){
$FName=mysql_real_escape_string($_POST['FName']);
$UpdateTradesman_Query.= "FName ='".$FName."'";
}
if(isset($_REQUEST['SName'])){
$SName=mysql_real_escape_string($_POST['SName']);
$UpdateTradesman_Query.= "SName ='".$SName."'";
}
if(isset($_REQUEST['Email'])){
$Email=mysql_real_escape_string($_POST['Email']);
$UpdateTradesman_Query.= "Email ='".$Email."'";
}
if(isset($_REQUEST['HomePhone'])){
$HomePhone=mysql_real_escape_string($_POST['HomePhone']);
$UpdateTradesman_Query.= "HomePhone ='".$HomePhone."'";
}
if(isset($_REQUEST['Mobile'])){
$Mobile=mysql_real_escape_string($_POST['Mobile']);
$UpdateTradesman_Query.= "Mobile ='".$Mobile."'";
}
if(isset($_REQUEST['Trade'])){
$Trade=mysql_real_escape_string($_POST['Trade']);
$UpdateTradesman_Query.= "Trade ='".$Trade."'";
}
if(isset($_REQUEST['Address'])){
$Address=mysql_real_escape_string($_POST['Address']);
$UpdateTradesman_Query.= "Address ='".$Address."'";
}
if(isset($_REQUEST['County'])){
$County=mysql_real_escape_string($_POST['County']);
$UpdateTradesman_Query.= "County ='".$County."'";
}
if(isset($_REQUEST['PostCode'])){
$PostCode=mysql_real_escape_string($_POST['PostCode']);
$UpdateTradesman_Query.= "PostCode ='".$PostCode."'";
}
if(isset($_REQUEST['Photo'])){
$Photo=mysql_real_escape_string($_POST['Photoe']);
$UpdateTradesman_Query.= "Photo ='".$Photo."'";
}
if(isset($_REQUEST['Profile'])){
$Profile=mysql_real_escape_string($_POST['Profile']);
$UpdateTradesman_Query.= "Profile ='".$Profile."'";
}
if(isset($_REQUEST['Qualification'])){
$Qualification=mysql_real_escape_string($_POST['Qualification']);
$UpdateTradesman_Query.= "Qualification ='".$Qualification."'";
}
if(isset($_REQUEST['AvailabilityTimes'])){
$AvailabilityTimes=mysql_real_escape_string($_POST['AvailabilityTimes']);
$UpdateTradesman_Query.= "AvailabilityTimes ='".$AvailabilityTimes."'";
}
$UpdateTradesman_Query.= "WHERE TradesmanID=".$TradesmanID;
echo $UpdateTradesman_Query;
if (mysql_query($UpdateTradesman_Query)){
$status= 'OK';
$message= 'null';
$Update= "OK";
}
else{
$status= 'Not OK';
$message= 'Error: Query Unsuccessful.'. mysql_error();
$Update= "Not OK";
}
我还必须考虑到,如果用户选择更新用户名或电子邮件,我必须确保 a) 电子邮件尚未与另一个帐户关联(已在数据库中)或 b) 用户名尚未采取。任何帮助表示赞赏。
【问题讨论】:
标签: php sql multiple-columns