开发者

more PHP mySQL INSERT fun

mysql_query("INSERT INTO dictionary ('word', 'definition') VALUES ('".$word."','".$definition."');")

That just will not execute, when I echo it - I get this:

INSERT INTO dictionary ('word', 'definition') VALUES ('monkey','monkey');

So the values are being brought into it properly, if I out put mysql_error()开发者_Go百科 I get:

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 ''word', 'definition' VALUES ('monkey','monkey')' at line 1

Any ideas? I'm stumped.


You need to use backticks for field names:

INSERT INTO dictionary (`word`, `definition`)

(or, of course, no quotes at all. But it is better to have them.)


Yeh remove the quotes from the column definitions. You only need them around the strings you are inserting.


When referencing column names for INSERT you should be using backticks (`) not single quotes. (Single quotes is telling MySQL those values are strings and not column references).

Either remove the single quotes or use the backticks and the problem should resolve itself.


Change your single quotes around word and dictionary to backticks:

INSERT INTO dictionary (`word`, `definition`) VALUES ('monkey','monkey');


Correct Method:

mysql_query("INSERT INTO `dictionary` (`word`, `definition`) VALUES ('".$word."','".$definition."');")

which will be ouput as this:

INSERT INTO `dictionary` (`word`, `definition`) VALUES ('monkey','monkey');


if this is not working:

mysql_query("INSERT INTO dictionary (word,definition) VALUES ('".$word."','".$definition."')");

then you have problem with field names... check your name in table... or maybe you missing something! what your table look like?


mysql_query("INSERT INTO dictionary (`word`, `definition`) VALUES ('".$word."','".$definition."');")

Note the apostrophes. The field names should either use no apostrophes, or use the ones shown here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜