Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błąd dodania danych - klucz obcy, Błąd dodawania danych gdy ustawiony Kluc
radca78
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 2.01.2006

Ostrzeżenie: (0%)
-----


Witam

Mam 3 tabele (innoDB).

1. klienci (klientid-klucz glw., pole1, pole2...)
2. ksiazki (ksiazkaid-klucz glw., klientid-klucz obcy do klientid z tabeli klienci, pole1, pole2...)
3. opisy (ksiazkaid-klucz obcy do ksiazkaid z tabeli ksiazki)

Bez ustawionych kluczy obcych, wszystkie dane moge dodawac. Po ustawieniu kluczy jak powyzaj nie moge dodac danych.

Komunikat przy dodaniu danych:
Cannot add or update a child row: a foreign key constraint fails

Poradzcie cos (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
radca78
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 2.01.2006

Ostrzeżenie: (0%)
-----


Dane dodaje jednym formularzem (wszystko razem) do 3 tabel. Tworzę 3 zmienne i kazda z nich jest sprawdzana czy zostala dodana do tablei czy nie.
  1. <?php
  2.  
  3. $wynik1 = mysql_query("INSERT INTO klienci (pole1, pole2, ...) VALUES ('$wart1' , '$wart1' , ...)");
  4. if ($wynik1) {
  5. echo "Dodane dane personalne<br />";
  6. }
  7. else echo "Dane personalne. Błąd: " .mysql_error().__LINE__;
  8.  
  9. $wynik2 = mysql_query("INSERT INTO ksiazki(pole1, pole2, ...) VALUES ('$wart1' , '$wart1' , ...)");
  10. if ($wynik2) {
  11. echo "Dodane dane ksiazek<br />";
  12. }
  13. else echo "Dane ksiazek. Błąd: " .mysql_error().__LINE__;
  14.  
  15. ?>

(IMG:http://forum.php.pl/uwaga.gif)
poprawiam
---
nospor


zmienna 3 analogicznie. Poprawnie dodaje mi tylko zmienna z danymi z $wynik1 - niezaleznie od kolejnosci ich zapisywania. Pozostale 2 zmienne zwracaja komunikat o bledzie.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 13:03