2013-05-19 73 views
0

当我通过phpmyadmin在我的表格中插入东西时我没有问题,但是当我尝试在我的网站中创建的“管理面板”形式中执行此操作时,我收到此消息:表单插入的Mysql问题

Error: Cannot add or update a child row: a foreign key constraint fails (`db467610239`.`articulo`, CONSTRAINT `fk_articulo_genero` FOREIGN KEY (`genero_id`) REFERENCES `genero` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) 

事情是我插入到我的新表中的号码已经存在于我的另一张表中,因为它们被链接为流派。我不知道为什么会这样,我使用完全相同的插入在phpmyadmin的只是一些PHP调整:

INSERT INTO articulo VALUES (id= null , nombre='$nombre', imagen='$imagen', text='$text', precio='$precio', popup='$popup', genero_id ='$genero_id') 
+0

显示我们一些代码可能有帮助。也许这是在PHP代码中的东西。 – gkalpak

+0

我很确定它现在是一个ID问题,因为在将它们插入到数据库中之前我已经检查了所有的值,并且它们全部被填充。 也许它与这个主表的自动ID增量有关?但是,这将是奇怪的原因,错误是说它是在外键? – eon

+0

省略'id = null,'部分。 – gkalpak

回答

0

您的查询应该看起来更像是这样的:

$query = " 
INSERT INTO articulo (
    nombre, imagen, text, precio, popup, genero_id 
) VALUES (
    '$nombre', '$imagen', '$text', '$precio', '$popup', $genero_id 
)"; 
+0

您的SQL语法错误;检查对应于你的MySQL服务器版本的手册,在第4行使用'','1')'附近的正确语法 相同的消息,如果使用我的...怪异的 – eon

+0

这很可能是因为'genero_id'是键入'int'或其他东西。我更新了我的答案,但除非我们知道所有的细节,我们只是猜测。 – gkalpak

+0

这是肯定的,因为我选择的值是1,所以该值对应于另一个表中的genero_id – eon