Intereting Posts
Предупреждение: mysql_num_rows (): предоставленный аргумент не является допустимым ресурсом результата MySQL Возвращаемое значение php mb_strlen является странным Функция MySQL для определения близости / диапазона Zip-кода ODBC / MYSQL Вставка результата запроса из ODBC в базу данных в MYSQL Недопустимый счетчик ссылок API Google Plus html-страница не получает файлы cookie через libcurl Jquery ajax возвращается 404 не найден как динамически проверять количество аргументов функции в php Поместите div в MYSQL die Рекурсивная функция для построения массива из дерева Видимость атрибутов модели Laravel / Eloquent Model Метод mockery not call из репозитория (интерфейс) Изменить значение атрибута тега с помощью PHP DOMDocument Соединение с WebSocket с «ws: //mydomain.com: 8084 /? Peer_id = 123» не выполнено: ошибка при установлении соединения: net :: ERR_CONNECTION_TIMED_OUT Вставка данных из динамической формы регистрации с помощью переключателей

PHP mysqli_real_escape_string возвращает пустую строку

Код работает нормально, если я не использую функцию mysql_real_escape_string. Но функция ничего не возвращает! Я читал, что проблема может быть связана с тем, что у меня нет соединения mysql, но это, похоже, не так!

Пожалуйста помоги!

<?php $con=mysqli_connect("localhost","root","pwd","mysql"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $title = mysqli_real_escape_string($_POST["title"]); $comment = mysqli_real_escape_string($_POST["comment"]); $type = $_POST["type"]; $time = date("Ymd H:i:s"); $sql="INSERT INTO posts VALUES ('','$type','$time','$time','$title','$comment','0','0','0','0','0')"; if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); } mysqli_close($con); header ("location: index.php"); ?> 

Вам необходимо передать соединение с функцией

 $title = mysqli_real_escape_string($con, $_POST["title"]); 

Согласно http://php.net/manual/en/mysqli.real-escape-string.php вам нужно передать два параметра, если вы не используете объектно-ориентированный стиль. Вы должны использовать формат:

mysqli_real_escape_string ($ link, $ escapestr)

Где $ link: Идентификатор ссылки, возвращаемый mysqli_connect () или mysqli_init ()

И $ escapestr: строка, которую нужно экранировать. Закодированными символами являются NUL (ASCII 0), \ n, \ r, \, ', "и Control-Z.

php.net говорит
Процедурный стиль
mysqli_real_escape_string ( mysqli $link , string $escapestr )
Поэтому вам нужно добавить к нему $ con:
$title = mysqli_real_escape_string($con, $_POST["title"]);