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();
?>