Как автоматически добавить ‘strip_tags’ ко всем запросам выбора базы данных?

У меня есть это в моем php db.php

$mysqli = new mysqli($hostname, $user, $pass, $bd);

foreach($_POST as $key => $value){
if (!is_array($value)){
$_POST[$key] = strip_tags($value);
}
}

Сначала мое соединение с БД, а затем простое foreach удалить HTML-теги из всех постов. эта страница включена во все остальные, которые нуждаются в подключении БД.

Могу ли я изменить эту функцию, чтобы применить ‘strip_tags’ ко всем выбранным mysqli (вместо сообщений) и удалить все теги там?

например

1. db connection,
2. foreach/function to remove all tags from any mysqli select,
3. mysqli select query (with no html tags as result).

0

Решение

Вы можете обернуть это в функцию:

function wrapp($sql){
// You could add more stuff to change like htmlspeciclchars
return strip_tags($sql);
}

Вы можете вызывать эту функцию каждый раз, когда делаете запрос.

$mysqli->query(wrapp($sql));

Если вы хотите работать с вашим подключением еще больше, было бы разумно создать для него класс и реализовать в нем функцию, подобную приведенной выше. Насколько я знаю, нет способа сделать это автоматически без вызова функции или чего-то в этом роде.

0

Другие решения

Я не думаю, что есть способ сделать это автоматически. Вы можете сделать что-то вроде этого:

  1. дБ соединение,
  2. Подготовить SQL-запрос
  3. Foreach все параметры, чистые теги,
  4. bind param Выполнить запрос

Другой вариант — использовать ORM. Например доктрина позволяет указать функцию, которая вызывается перед сохранением объекта. Вы можете удалить метки там.

0

По вопросам рекламы [email protected]