2010-06-18 75 views
4

在典型的PHP應用程序中我曾在SQL插入之前使用mysql_real_escape_string。然而,我無法在Drupal中這樣做,所以需要一些幫助。沒有任何類似的功能,用戶輸入撇號是打破我的代碼。Drupal SQL注入攻擊預防和表單中的撇號處理

請建議。

謝謝

我的SQL如下:

$ SQL = 「INSERT INTO some_table(FIELD1,FIELD2)VALUES( '$ FIELD1', '$域2')」;

db_query($ sql);

回答

5

用{}包裹你的桌子。

另外,使用正確的佔位符語法進行插入,如%d代表數字,%s代表字符串。

下面是函數API頁面:

http://api.drupal.org/api/function/db_query/6

注意,它有爭論。

實施例:

db_query('INSERT INTO {tablename} (field1, field2) VALUES ("%s", "%s")', $field1, $field2);