En tant que Noob, je ne comprends pas beaucoup d'injections SQL, mais j'ai besoin d'être sauvegardé, donc j'ai lu que je dois utiliser wpdb-> prepare pour m'assurer que les données sont stockées correctement.
En ce moment, j'utilise la requête $ wpdb-> update (), j'ai donc besoin d'aide pour la transformer en une requête de sauvegarde avec $ wpdb-> prepare ().
$wpdb->update('custom_table',
array(
'option_1' => 'hello',
'option_2' => 2,
'option_3' => 'world'
),
array('option_name' => 'some name'),
array('%s','d%','%s')
);
Lorsque vous consultez l'article du Codex sur $wpdb
, vous verrez que votre utilisation actuelle est correcte. Le dernier argument
array( '%s', '%d', '%s' )
indique déjà qu'il se passe quelque chose comme sprintf/printf
en arrière-plan.
La méthode $wpdb->prepare()
n'est pas nécessaire pour toutes les autres méthodes. Ceux qui en ont besoin:
$wpdb->query()
$wpdb->get_var()
$wpdb->get_col()
$wpdb->get_row()
$wpdb->get_results()
et des requêtes SQL simples comme:
$sqlQuery = $wpdb->prepare( "SELECT etc.", /* list of replacements */ );
où le dernier sera probablement toujours enveloppé dans $wpdb->query()
de toute façon.