-1

917678904@tmomail.comこれをmysqlデータベースに挿入する方法は? .

一重引用符なしで一重引用符を付けてみましたが、両方の方法が失敗します。

// This is my query:

$n = 917678904@tmomail.com;
$table = "invites";

if(!mysql_query("INSERT into $dbname.$table (accepted_by, accepted_on, phone, email,  reffer) 
              VALUES('NULL', 'NULL', 'NULL', `$n`, 'NULL'")){
                 echo mysql_error();
}

これがテーブル構造です

accepted_by VARCHAR (50) NOT NULL
accepted_on VARCHAR (45) NOT NULL
phone VARCHAR (11) NULL
email VARCHAR (250) NULL
refferer CHAR (3) NOT NULL)

これは、$n を単一引用符で囲んだエラー メッセージです。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

MYSQL バージョン 5.0 を使用しています

4

1 に答える 1

1
`$n`

値フィールドが正しくありません。バッククォートはフィールド名をエスケープするために使用されますが、 の値は$nほぼ確実にそうではありません。通常の引用符を使用する必要があります。

INSERT ... VALUES (..., '$n', ...)
                        ^--^--

同様に、'NULL'また間違っています。これにより、リテラル文字N, U,が db テーブルに挿入されますLL実際の SQL null 値の場合は、引用符を削除します。

... VALUES(NULL, NULL,....)
           ^^^^

そして最後に、テーブル構造にはreffererが含まれていますが、クエリ文字列には が使用されていますreffer。単なるタイプミスかもしれませんが、指摘する価値があります。

于 2012-12-17T21:30:48.000 に答える