Drupal veritabanındaki özel bir tabloya veri eklemek için Drupal 7 yöntemini db_insert kullanıyorum . Bu tercih edilen yol olduğunu okudum, ancak kod ve doco yürüdü ve ben değerleri ayrıştıran, ya da bu değerlerin güvenli olduğunu söyleyen bir yerde göremiyorum.
Bazı değerleri kullanıcı geliyor bu yüzden SQL enjeksiyon saldırılarına karşı kontrol etmek gerekir.
Bu, Drupal 6'nın değerleri ayrıştırdığı ve drupal 7 versiyonunun okumadığı örnekte okuyordum.
<?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();
?>