Bereiten Sie die function sql safe method vor

Ich habe eine kuriose Frage über SQL-Injektion Angriff mit $ wpdb-> prepare functionen Verwendungen. https://codex.wordpress.org/Class_Reference/wpdb#Placeholders dieser Link sagen prepare-Methode ist besser, sql-Injektion zu schützen. Also benutze ich unten Code mit vorbereiten.

$query = $new_wpdb->prepare( "INSERT INTO sym_data ( user_id, country, dob, height, weight, bmi ) VALUES ( %d, %s, %s, %d, %d, %f)", $user_id, $country, $dob, $height, $weight, $bmi ); $new_wpdb->query($query); 

Überprüfen Sie den folgenden Code

  $new_wpdb->insert( 'sym_data', array( 'user_id' => $user_id, 'country' => $country, 'dob' => $dob, 'height' => $height, 'weight' => $weight, 'bmi' => $bmi, ), array( '%d', '%s', '%s', '%d', '%d', '%0.6f' ) ); 

Ich würde gerne wissen, welche Unterschiede zwischen diesen Codeblöcken bestehen. Die Ergebnisse sind gleich.

Erster Codeblock ist mit prepare-Methode

Der zweite ist mit Platzhalter

Solutions Collecting From Web of "Bereiten Sie die function sql safe method vor"