Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Problem z wstawianiem rekordów do bazy danych z pliku XML
dwinul
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.10.2010

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


Pisze program który ma wypełniać baze danych danymi z pliku XML. Przykładowa zawartość pliku XML wygląda następująco:

<linie>
<linia nazwa="1" >
<wariant id="1" nazwa="BISKUPIN - MARINO">
</wariant>
</linia>
</linie>

W bazie znajduje się tabela która ma trzy kolumny:
| nazwa_linii | typ_transportu | kierunek |

wszystkie kolumny są typu varchar.

Stworzyłem kod który wpisuje do zmiennych interesujące mnie dane a następnie wyświetla je na ekranie i zapisuje do bazy.

  1. <?PHP
  2. ini_set( 'display_errors', 'On' );
  3. error_reporting( E_ALL );
  4.  
  5.  
  6. require('polaczeniezbaza.php');
  7.  
  8.  
  9. $typ_transportu="tramwaj";
  10.  
  11. $rozklad = simplexml_load_file('1.xml');
  12.  
  13.  
  14.  
  15. echo '<ul>';
  16. foreach ($rozklad->linia as $linia) {
  17. echo '<li>';
  18. $linia_tmp=$linia->attributes();
  19. foreach ($linia->wariant as $wariant) {
  20.  
  21. $wariant_tmp=$wariant->attributes();
  22. echo '<li>';
  23. echo $wariant_tmp['nazwa'];
  24. echo $linia_tmp['nazwa'];
  25. echo $typ_transportu;
  26.  
  27. $zapytanie = "INSERT INTO linia (nazwa_linii, typ_transportu, kierunek) VALUES ({$linia_tmp['nazwa']}, $typ_transportu, {$wariant_tmp['nazwa']})";
  28. echo $zapytanie;
  29. mysql_query($zapytanie);
  30. }
  31. echo '</ul></li>';
  32. }
  33. echo '</ul>';
  34.  
  35. require('zakoncz_polaczenie.php');
  36.  
  37. ?>


Problem w tym, że zapytanie nie zapisuje danych do bazy. Sprawdzałem wpisując np. VALUES (1,2,3) i tak skonstruowane zapytanie zapisuje dane. Zawartość zmiennej $zapytanie wygląda poprawnie. Jednak skrypt wyrzuca błąd: Nieznana kolumna 'BISKUPIN' w field list - dla zapytania:
  1. INSERT INTO linia (nazwa_linii, typ_transportu, kierunek) VALUES (1, 'tramwaj', BISKUPIN-MARINO)
Czy ktoś wie czym to może być spowodowane?

Ten post edytował dwinul 28.10.2010, 18:18:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No przecież masz napisane jak wół: nieznana kolumna. Czy ty wkladasz do bazy kolumne czy tekst? Bo jak tekst to nalezy go objąć apostrofem
'BISKUPIN-MARINO'
Go to the top of the page
+Quote Post

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: 22.08.2025 - 12:26