2016-02-29 55 views
-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

+0

這不是問題。當你獲取行時,你應該使用stripslashes($ content)來刪除斜槓。 –

+2

它不應該存儲轉義,但作爲字符串文字。轉義只是爲了形成一個有效的SQL查詢。沒有@ErFaiyazAlam,你通常在獲取後不使用stripslashes。 – mario

+0

@mario。感謝您糾正我們。 –

回答

1

它將轉義字符串,以保持它有效的SQL查詢,而不是將轉義版本存儲在數據庫中。

相關問題