我的SQL语句适用于phpMyAdmin,但不适用于mysql_query()

时间:2015-08-01 12:43:36

标签: mysql mysqli insert phpmyadmin field

我有一个包含字段id,poll_id,row,col,color,amount的表。当我尝试使用

插入记录时
$sql = "INSERT INTO `updating` VALUES ('','$poll_id', '$row', '$col', '$color', '$amount')";
$insert = mysql_query($sql, $pp) or die(mysql_error()); 

它会插入记录,但会将color字段留空,并在“金额”字段中添加“0”!

当我将$sql输出到浏览器,然后复制并粘贴到phpMyAdmin时,它可以正常工作。经过几个小时的努力,我尝试从coloramount字段开始,然后逐个添加其他字段。一切正常,直到我添加了poll_id字段(最后一个要重新添加的内容)然后又恢复为不插入coloramount字段。

我甚至会切换到mysqli并开始阅读文档,但我不明白。

我已阅读本网站上处理此问题的所有其他问题,其中大多数问题都是针对抛出的错误。我没有收到任何错误消息,它只是没有插入两个字段。我已经尝试重命名字段,将数据类型从例如ENUM更改为VARCHAR,但都无济于事。

我受到了阻碍,非常感谢你的帮助。

更新

$ sql的内容是:

INSERT INTO `updating` VALUES ('','2', '2', '10', 'yellow', '100')

表格ddl是:

CREATE TABLE IF NOT EXISTS updating 
( 
  id mediumint(8) NOT NULL AUTO_INCREMENT, 
  poll_id smallint(4) NOT NULL, 
  row enum('0','1','2','3','4','5','6','7','8','9','10','11') NOT NULL, 
  col enum('0','1','2','3','4','5','6','7','8','9','10','11') NOT NULL, 
  color enum('green','yellow','red','blue') NOT NULL, 
  amount decimal(12,0) NOT NULL, 
  PRIMARY KEY (id), UNIQUE KEY entry (row,col) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='per vote color flip' AUTO_INCREMENT=16

0 个答案:

没有答案