Estoy usando el método Drupal 7 db_insert , para insertar datos en una tabla personalizada en la base de datos de Drupal. He leído que esta es la forma preferida, sin embargo, he recorrido el código y el doco y no puedo ver ningún lugar que analice los valores o me diga que estos valores son seguros.
Algunos de los valores provienen del usuario, por lo que debo verificar los ataques de inyección SQL.
Este es el ejemplo que estaba leyendo, donde Drupal 6 analiza los valores y la versión de drupal 7 no.
<?php
// Drupal 6 version
db_query('INSERT INTO {vchess_games}
(gid, timestamps, white, black, state, board_white, board_black) ' . "VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')",
$gid, $timestamps, $game['white'], $game['black'], $state, $board_white, $board_black);
// Drupal 7 version
db_insert('vchess_games')
->fields(array(
'gid' => $gid,
'timestamps' => $timestamps,
'white' => $game['white'],
'black' => $game['black'],
'state' => $state,
'board_white' => $board_white,
'board_black' => $board_black
))
->execute();
?>