В общем есть такой Код (Text): $dbc = mysqli_connect(DB_HOST,DB_USER,'',DB_NAME) or die ('Ошибка соединения с MYSQL сервером'); //Функция экранирования срабатывает при подключенной базе $firstname=mysqli_real_escape_string($dbc,$firstname); // Создаем SQL строку запроса для внесения информации в таблицу $query = "INSERT INTO acquaintances (firstname,lastname,sex,old,growth,weight,profession,hobby,family,children,information,email,images) " . "VALUES ('$firstname','$lastname','$sex','$old','$growth','$weight','$profession','$hobby','$family','$children','$information','$email','$images')"; // Непосредственно запускаем функцию запроса к базе $result = mysqli_query($dbc,$query)//аргументы функции соединение с сервером и срока запроса or die ('Ошибка при выполнении запроса к баззе данных'); // Закрытие канала связи с сервером базы данных mysqli_close($dbc); Намеренно в переменную $firstname ввожу html код ссылки вместо имени. Захожу в свою админ панель и в phpmy admin а там спокойно эти теги незаэкранированы. Где может ошибка. Заходил в манул php.net и как там вроде вызываю функцию в процедурном стиле
в бд заливается не форматированный текст. Сырой, так и положено. Достаточно забиндить или эксейпить данные, и sql-injection прощай. При выводе текста юзаем filter_var ( $item, FILTER_SANITIZE_FULL_SPECIAL_CHARS ) --- Добавлено --- https://github.com/MouseZver/Lerma PHP: <?php use Aero\Supports\Lerma; /* - Autoloader */ spl_autoload_register ( function ( $name ) { include strtr ( $name, [ '\\' => DIRECTORY_SEPARATOR ] ) . '.php'; } ); # ----------------- Lerma::prepare( 'INSERT INTO acquaintances ( firstname, lastname, sex, old, growth, weight, profession, hobby, family, children, information, email, images ) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,? )', [ $firstname, $lastname, $sex, $old, $growth, $weight, $profession, $hobby, $family, $children, $information, $email, $images ] ); все