Wann sollte ich $ wpdb-> prepare verwenden, wenn überhaupt?
Ich habe eine harte Zeit herauszufinden, ob ich @ verwenden soll$wpdb->prepare
auf meine Datenbankabfragen in WordPress, um Dinge wie SQL-Injection zu verhindern.
Das $ wpdb Codex zeigt einige Beispiele, die die Funktion $ wpdb-> prepare verwenden, und andere Beispiele, die sie nicht verwenden.
Auch indiese Antwort Auf StackOverflow erwähnte jemand, dass eine Funktion wie$wpdb->insert
hat das gleiche Sicherheitsniveau wie$wpdb->prepare
. Aber was ist mit anderen$wpdb
Funktionen wie$wpdb->get_var
oder$wpdb->query
?
Wann soll ich @ verwend$wpdb->prepare
, wenn überhaupt
Einige meiner (vereinfachten)$wpdb
Klassen- und Funktionsverwendung sieht folgendermaßen aus:
Beispiel 1 $wpdb->insert
$wpdb->insert(
'special_posts',
array(
'title' => $title,
'selftext_html' => $selftext_html,
'selftext' => $selftext,
),
array(
'%s',
'%s',
'%s',
)
);
Beispiel 2: $wpdb->get_results
$wpdb->get_results("SELECT * FROM special_posts WHERE selftext_html = '$value'");
Beispiel 3: $wpdb->get_var
$wpdb->get_var("SELECT title FROM special_posts ORDER BY id DESC LIMIT 1");
Beispiel 4: $wpdb->query
$wpdb->query('TRUNCATE TABLE special_posts');