ฉันใช้วิธี Drupal 7 db_insertเพื่อแทรกข้อมูลลงในตารางที่กำหนดเองในฐานข้อมูล Drupal ฉันได้อ่านว่านี่เป็นวิธีที่ต้องการ แต่ฉันได้อ่านรหัสและ doco แล้วและฉันไม่สามารถเห็นได้ว่ามีการแยกวิเคราะห์ค่าใดหรือบอกฉันว่าค่าเหล่านี้ปลอดภัย
ค่าบางอย่างมาจากผู้ใช้ดังนั้นฉันต้องตรวจสอบการโจมตี SQL Injection
นี่คือตัวอย่างที่ฉันกำลังอ่านซึ่ง Drupal 6 วิเคราะห์ค่าและรุ่น drupal 7 ไม่ได้
<?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();
?>