2013-05-19 103 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