¿Cuándo debo usar $ wpdb-> prepare, si es que lo hago?
Me resulta difícil averiguar si debería estar usando$wpdb->prepare
en las consultas de mi base de datos en WordPress para evitar cosas como la inyección de SQL.
los$ wpdb Codex muestra algunos ejemplos usando la función $ wpdb-> prepare, y otros ejemplos que no la usan.
También enesta respuesta En StackOverflow, alguien mencionó que una función como$wpdb->insert
tiene el mismo nivel de seguridad que usar$wpdb->prepare
. Pero que hay de otro$wpdb
funciones como$wpdb->get_var
o$wpdb->query
?
¿Cuándo debo usar?$wpdb->prepare
, ¿como mucho?
Algunos de mis (simplificados)$wpdb
El uso de clase y función se ve así:
Ejemplo 1: $wpdb->insert
$wpdb->insert(
'special_posts',
array(
'title' => $title,
'selftext_html' => $selftext_html,
'selftext' => $selftext,
),
array(
'%s',
'%s',
'%s',
)
);
Ejemplo 2 $wpdb->get_results
$wpdb->get_results("SELECT * FROM special_posts WHERE selftext_html = '$value'");
Ejemplo 3 $wpdb->get_var
$wpdb->get_var("SELECT title FROM special_posts ORDER BY id DESC LIMIT 1");
Ejemplo 4 $wpdb->query
$wpdb->query('TRUNCATE TABLE special_posts');