4

典型的なPHPアプリケーションでは、SQL挿入を行う前にmysql_real_escape_stringを使用していました。ただし、Drupalでそれを行うことはできないため、何らかの支援が必要になります。そして、そのような関数がなければ、アポストロフィを使用したユーザー入力は私のコードを壊してしまいます。

提案してください。

ありがとうございました

私のSQLは次のとおりです。

$ sql = "INSERT INTO some_table(field1、field2)VALUES('$ field1'、'$ field2')";

db_query($ sql);

4

1 に答える 1

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);
于 2010-06-18T03:54:28.793 に答える