作为一个noob,我不了解很多SQL注入,但我需要保存,所以我读到我必须使用wpdb->prepare来确保数据存储正确。
此时,我使用了$wpdb->update()查询,因此我需要一些帮助来将其转换为带有$wpdb->prepare()的save查询。
$wpdb->update(\'custom_table\',
array(
\'option_1\' => \'hello\',
\'option_2\' => 2,
\'option_3\' => \'world\'
),
array(\'option_name\' => \'some name\'),
array(\'%s\',\'d%\',\'%s\')
);
最合适的回答,由SO网友:kaiser 整理而成
当你看到Codex article on $wpdb
, 然后您将看到您当前的用法是正确的。最后一个参数
array( \'%s\', \'%d\', \'%s\' )
已经表明
sprintf/printf
在后台进行。
这个$wpdb->prepare()
其他方法都不需要方法。需要它的人:
$wpdb->query()
$wpdb->get_var()
$wpdb->get_col()
$wpdb->get_row()
$wpdb->get_results()
和简单的SQL查询,如:
$sqlQuery = $wpdb->prepare( "SELECT etc.", /* list of replacements */ );
最后一个可能总是被包裹在里面
$wpdb->query()
无论如何