好吧我一直在使用PHP + MySQL一段时间,所以我认为自己精通。我做了我的语法错误公平的份额在过去,但这是实话得罪我了:PHP/MySQL插入
http://img251.imageshack.us/img251/3760/fubar.png
如果有人能告诉我为什么这个简单的说法是不工作,我会非常赞赏。
好吧我一直在使用PHP + MySQL一段时间,所以我认为自己精通。我做了我的语法错误公平的份额在过去,但这是实话得罪我了:PHP/MySQL插入
http://img251.imageshack.us/img251/3760/fubar.png
如果有人能告诉我为什么这个简单的说法是不工作,我会非常赞赏。
其实我看到1个错误...“选项”是一个保留字。将其包含在backtics中:`Option`或更好,将列名更改为不是保留字的内容。
正是这个问题。谢谢。 – 2010-09-18 20:38:07
看着你试图插入什么来自$ _ POST [“调查”],所以你插入应该是这样的代码:
$vote = $_POST['survey'];
// connect to db
mysql_query(sprintf(
"INSERT INTO poll (`Option`) VALUES ('%s')",
mysql_real_escape_string($vote)
);
另外请注意,“选项”是保留关键字并需要在反引号内。
对'选项'使用反引号。
INSERT INTO poll (`Option`) VALUES ('Stuff')
或者只是'INSERT INTO poll VALUES('Stuff')'。没有必要指定列名 – 2010-09-18 20:39:35
@ Mark Snidovich - 当然,如果你打算为每一列提供值(以及按照正确的列顺序),那么这只是真的。一般来说,这并不是很好的做法,因为如果你决定在后面添加另一列,对于其他一些脚本......它会打破这个声明 – 2010-09-18 20:43:03
@蜡笔这是真的,但在这种情况下,表只有一列。这就是我做事的方式,通常 - 为每列提供一个值,如果我改变表格,我最好小心点,不过,我想这取决于你是否想要弹性,或者宁愿被迫在所提供的值中做到精确。 – 2010-09-19 02:18:25
面值,这没有什么不对......你究竟得到了什么错误?你使用变量而不是静态值吗? – 2010-09-18 20:32:38
定义“不工作”。你用过mysql_error()吗?它说什么? – halfdan 2010-09-18 20:32:42
什么都没有发生。没有错误。数据库中没有添加任何内容。 – 2010-09-18 20:34:46