Когда я должен использовать $ wpdb-> prepare, если вообще?
Мне трудно понять, если я должен использовать$wpdb->prepare
на моей базе данных запросов в WordPress, чтобы предотвратить такие вещи, как инъекция SQL.
Кодекс $ wpdb показаны некоторые примеры, использующие функцию $ wpdb-> prepare, и другие примеры, не использующие ее.
Также вэтот ответ на StackOverflow кто-то упомянул, что такая функция, как$wpdb->insert
имеет тот же уровень безопасности, что и при использовании$wpdb->prepare
, Но как насчет других$wpdb
такие функции, как$wpdb->get_var
или же$wpdb->query
?
Когда я должен использовать$wpdb->prepare
, если вообще?
Некоторые из моих (упрощенно)$wpdb
Использование классов и функций выглядит следующим образом:
Пример 1: $wpdb->insert
$wpdb->insert(
'special_posts',
array(
'title' => $title,
'selftext_html' => $selftext_html,
'selftext' => $selftext,
),
array(
'%s',
'%s',
'%s',
)
);
Пример 2: $wpdb->get_results
$wpdb->get_results("SELECT * FROM special_posts WHERE selftext_html = '$value'");
Пример 3: $wpdb->get_var
$wpdb->get_var("SELECT title FROM special_posts ORDER BY id DESC LIMIT 1");
Пример 4: $wpdb->query
$wpdb->query('TRUNCATE TABLE special_posts');