這是請求通過GET請求時跳過特殊字符
function AssignWork(){
var projectId = $jq(".dmProjName").val(),
empId = $jq(".nameEmp").val(),
assignWork = $jq(".workDescription").val(),
workDate = $jq(".workDate").val();
var go_path = "Employee_Switch_Person.php?action=assignWork&vars=4&var1="+empId+"&var2="+projectId+"&var3="+assignWork+"&var4="+workDate;
$jq.get(go_path,{},function(data){
if(data ==1){
alert("Successfully Assigned!");
showAssignWork(0);
}
});
}
這是php
的JS \ jQuery函數function assignWork($empId,$projectId,$assignWork,$workDate){
//echo $workDate;
global $con;
date_default_timezone_set("Asia/Karachi");
//echo "date format".date('Y-m-d H:i:s');
//echo $empId.",".$projectId.",".$assignWork.",".$workDate;
$sql = "INSERT INTO `tblempassignwork` (`EmpId`, `AssignWork`, `AssignById`, `ProjectId`, `WorkDate`, `AssignDateTime`)
VALUES($empId,'".$assignWork."',".$_COOKIE["userID"].",".$projectId.",'".$workDate."','".date('Y-m-d H:i:s')."')";
$result = mysql_query($sql,$con) or die(mysql_error());
echo $result;
}
問題是
assignWork = $jq(".workDescription").val()
可以包含一個帶有雙引號,單引號,散列或任何特殊字符的字符串。如果我使用單引號或散列,那麼它顯示爲
您在SQL語法中有錯誤;請檢查對應於您的MySQL服務器版本的手冊,以獲取正確的語法以使用附近的's',並舉例說明',3,77,'2015-05-08','2015-05-08 09:51:17' )'在第2行
因爲我在字符串中鍵入單引號。所以如何在通過獲取請求時跳過特殊字符。
當我取回這個數據,我就怎樣再次 –
你可以有一個備份變量說'var assignWork_original = assignWork' 然後你可以做上面的修整 – Manikiran