-1
我有具有某些輸入PHP腳本和應用mysqli_real_escape_string()
功能來過濾..這示於下面mysqli_real_escape_string的字符串轉換但不保存到數據庫中正確
$owner = mysqli_real_escape_string($conn,$_POST['owner']);
$purpose = mysqli_real_escape_string($conn,$_POST['purpose']);
$type = mysqli_real_escape_string($conn,$_POST['type']);
$city = mysqli_real_escape_string($conn,$_POST['city']);
$location = mysqli_real_escape_string($conn,$_POST['location']);
$description = mysqli_real_escape_string($conn,$_POST['description']);
$price = floatval($_POST['price']);
$land_area = floatval($_POST['area']);
$bedrooms = intval($_POST['bedrooms']);
$bathrooms = intval($_POST['bathrooms']);
$expire = mysqli_real_escape_string($conn,$_POST['expire']);
和下面是插入查詢
$query = "INSERT INTO add_property SET owner='".$owner."',purpose='".$purpose."', property_type='".$type."',city='".$city."',location='".$location."',description='".$description."',price='".$price."',land_area='".$land_area."',bedrooms='".$bedrooms."',bathrooms='".$bathrooms."',property_expire='".$expire."',image_url='".$targetfile."'";
$result = mysqli_query($conn,$query) or die(mysqli_error());
問題 它轉換的字符串,如果「若發現等像()‘添加slach ABC它並將其轉換爲\’ABC,但沒有保存到數據庫... 它保存到數據庫,就像..'abc
這不是問題。當你獲取行時,你應該使用stripslashes($ content)來刪除斜槓。 –
它不應該存儲轉義,但作爲字符串文字。轉義只是爲了形成一個有效的SQL查詢。沒有@ErFaiyazAlam,你通常在獲取後不使用stripslashes。 – mario
@mario。感謝您糾正我們。 –