У меня есть PHP скрипт, имеющие несколько входов и прикладная mysqli_real_escape_string()
функции для фильтрации ..which показаны ниже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
это не проблема. когда вы извлекаете строку, вы должны использовать stripslashes ($ content) для удаления косой черты. –
Он не должен храниться в экранированном виде, а как строковый литерал. Escaping предназначен только для формирования действительного SQL-запроса. И нет @ErFaiyazAlam, вы обычно не используете stripslashes после извлечения. – mario
@mario. спасибо за исправление. –