Dzień Dobry pisze kolejny temat związany z moim skryptem czytającym plik XML przez PHP wpisując dane do MySQL

Problem na dziś to wpisanie danych do 3 różnych tabel lecz zawsze dając jedno ID z tabeli 1 mniej więcej coś takiego jak na obrazku
linie na czerwono to ID a na niebiesko to co wstawiam z XML




Kod

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. $xml = simplexml_load_file('action1.xml');
  4.  
  5. $con = mysql_connect('localhost', 'root', '');
  6. mysql_select_db('sklep');
  7.  
  8.  
  9.  
  10.  
  11. foreach($xml->produkty->produkt as $produkt){
  12. $Id = $produkt['id'];
  13. $nazwa = $produkt['nazwa'];
  14. $grupa = $produkt['grupa'];
  15. $cena = $produkt['cena_netto'];
  16. $vat = $produkt['vat'];
  17. $magazyn = $produkt['dostepny'];
  18.  
  19.  
  20. echo"<table></tr>";
  21. echo"<td>". $Id ."</td>";
  22. echo"<td>". $nazwa ."</td>";
  23. echo"<td>". $grupa ."</td>";
  24. echo"<td>". $cena ."</td>";
  25. echo"<td>". $vat ."</td>";
  26. echo"<td>". $magazyn."</td>";
  27. echo"</tr></table>";
  28. $Dodaj_Produkt = ("INSERT INTO `qom8d_virtuemart_products` (`virtuemart_product_id`, `product_sku`) VALUES ('', '$Id')");
  29. $query = mysql_query ($Dodaj_Produkt) or die ("Nie dodano". mysql_error());
  30.  
  31. if($query){
  32. $Dodaj_Nazwe = ("INSERT INTO `qom8d_virtuemart_products_pl_pl` (`virtuemart_product_id`, `product_name`) SELECT `virtuemart_product_id` FROM `qom8d_virtuemart_products` WHERE `product_sku` = ('$Id') ");
  33. $query2 = mysql_query ($Dodaj_Nazwe) or die ("Nie dodano". mysql_error());
  34. echo $quary2;
  35. }
  36. }
  37.  
  38.  
  39. /**
  40. id="AGAAKPOKF0003"
  41. nazwa="Filtr węglowy AKPO SOFT - okapy WK-4, WK-5, WK-7"
  42. producent="AKP"
  43. grupa="AGA-OKF"
  44. gwarancja="F000M"
  45. cena_netto="29.33"
  46. vat="23"
  47. magazyn_zewnetrzny="N"
  48. dostepny="0"
  49. data="2011-06-03"
  50. na_zamowienie="T"
  51. oferta_specjalna="N"
  52. ostatnia_zmiana="2011-06-22"
  53. mala_paleta="N"
  54. large="N"
  55. raportowany="T">**/
  56.  
  57. ?>


Błędy jakie otrzymuje

Column count doesn't match value count at row 1
Unknown column 'AGAAKPOKF0001' in 'where clause'

Pomorze ktoś czy znów raczej nie?

Ułożyłem trochę inne zapytanie i dodaje tylko 1 wynik potem zwraca błąd duplikacji kluczy

Kod
$addall = ("
   INSERT INTO `qom8d_virtuemart_products_pl_pl` (`virtuemart_product_id`, `product_name`) VALUES (
   (SELECT `virtuemart_product_id` FROM `qom8d_virtuemart_products` WHERE `product_sku` = '$Id'), '$nazwa')");
   $wysaddall = mysql_query($addall) or die (mysql_error());

Duplicate entry '356' for key 'PRIMARY'



Oto rozwiązanie moje problemu może się komuś przyda

  1. $Nazwa = addslashes($nazwa);
  2.  
  3. $addall = ("
  4. INSERT INTO `qom8d_virtuemart_products_pl_pl` (`virtuemart_product_id`, `product_name`, `slug`) VALUES (
  5. (SELECT `virtuemart_product_id` FROM `qom8d_virtuemart_products` WHERE `product_sku` = '$Id'), '$Nazwa', '$Nazwa' )");
  6. $wysaddall = mysql_query($addall) or die (mysql_error());