Tôi đã đọc một số chủ đề về điều này và những người khác nhau có quan điểm khác nhau về thực tiễn tốt nhất.
Về mặt WordPress, làm cách nào để ghi dữ liệu vào cơ sở dữ liệu một cách an toàn nhất?
Đây là một chèn tôi đang sử dụng bây giờ:
$result = $wpdb->insert(
$table_name ,
array(
'arena' => $galleryData['arena'],
'year' => substr( $galleryData['season'], 2 ),
'copyright' => $galleryData['copyright'],
'description' => $galleryData['description'],
'path' => $galleryData['path'],
'fk_brand_id' => $galleryData['brand']
),
array( '%s', '%d', '%s', '%s', '%s', '%d' )
);
Một cách khác để chèn dữ liệu là làm điều này:
$sanitized_sql = $wpdb->prepare( "
INSERT INTO my_plugin_table
SET
field1 = %1$d,
field2 = %2$s,
field3 = %3$s’,
32,
'Aaron Brazell',
'Washington, D.C'
" );
$wpdb->query( $sanitized_sql );
Tôi vẫn cần vệ sinh dữ liệu bằng cách sử dụng wp_kses()
hay mysql_real_escape_string()
?
Tôi chỉ bối rối về phương pháp nào là tốt hơn để ghi dữ liệu vào cơ sở dữ liệu một cách an toàn. Tôi tìm thấy một câu trả lời hữu ích trên Stack Overflow .
Vậy tôi nên hay không nên vệ sinh dữ liệu trước khi nhập?
wp_kses
trước khi lưu trữ dữ liệu vào DB? Hoặc bất kỳ bộ lọc khác được tìm thấy ở đây? codex.wordpress.org/Data_Validation