INSERT INTO reviews
(userName, email, phone, review_text,ip,browser)
VALUES('$userName','$email','$phone','$review_text','$userData[ip]','$userData[browser]')
вот строка которую передаю в real escape string
в БД не записывается. Запрос работает если из него \ убирать, после обработки
real escape string
.
Так делать не нужно, нужно каждую переменную оборачивать в функцию отдельно, а так-же, желательно обрамлять поля в тильду `
$userName = mysqli_real_escape_string($userName);
$email = mysqli_real_escape_string($email);
$phone = mysqli_real_escape_string($phone);
$review_text = mysqli_real_escape_string($review_text);
$ip = mysqli_real_escape_string($userData['ip']);
$browser = mysqli_real_escape_string($userData['browser']);
$sql = "INSERT INTO `reviews` (`userName`, `email`, `phone`, `review_text`,`ip`,`browser`)
VALUES('" . $userName . "','" . $email . "','" . $phone . "','" . $review_text . "','" . $ip . "','" . $browser . "')";
А вообще, конечно - лучше использовать prepared
- подготавливаемые запросы:
$stmt = $stmt->prepare("INSERT INTO `reviews` (`userName`, `email`, `phone`, `review_text`,`ip`,`browser`) VALUES(?,?,?,?,?,?)");
$stmt->bindParam(1, $userName);
$stmt->bindParam(2, $email);
$stmt->bindParam(3, $phone);
$stmt->bindParam(4, $review_text);
$stmt->bindParam(5, $userData['ip']);
$stmt->bindParam(6, $userData['browser']);
$stmt->execute();
В данном случае mysqli_real_escape_string
делать не нужно, так-как - это делается внутри движка.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Для хранения данных о пользователях и паролях, а также для хранения другой информации, создал подключение mysqlМне необходимо выгрузить данные...
Я передаю JsonObject, состоящий из объектов типа String, из android-приложения на сервер через POST-запрос и сохраняю переменные в MySQL c помощью JDBCЕсли в переменных...