![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Cześć Wszystkim
Teraz mam taki oto problem jak zawsze z xml i php oraz MySQL, na poprzednie tematy co do odczytu pliku nikt nie chciał odpisać może teraz ktoś pomoże Mam taki oto kod (mój własny) Kod foreach($plik->GrupyTowarowe as $IdGrupy) { //wczytanie odpowiednich danych foreach($IdGrupy->GrupaGlowna as $dalej){ $ID = '_ID'; $IdG = $dalej['id']; $NaGt = $dalej['nazwa']; foreach($dalej->PodGrupy->PodGrupa as $menu){ $IdMenu = $menu['id']; $NazMenu = $menu['nazwa']; //wypisanie danych echo "<table CELLPADDING=10 CELLSPACING=10 BORDER=1><tr>"; echo"<td>". $IdG ."</td>"; echo"<td>". $NaGt ."</td>"; echo"<td>". $IdMenu."</td>"; echo"<td>". $NazMenu ."</td>"; echo "</tr></table>"; //wpis do bazy $zapytanie = ("INSERT INTO `qom8d_virtuemart_categories_pl_pl`(`virtuemart_categoty_id`,`category_name`) VALUES ('', '$NaGt')"); $result = mysql_query($zapytanie) or mysqli_error(); TA LINIA ZAWIERA BŁĄD A RACZEJ ZAPYTANIE WYŻEJ } } } Problem Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\xml\menu.php on line 32 Otóż albo mi to wywala lub po małej zmianie dodaje wpis do bazy lecz tylko 1 wczytany z pliku a w tabeli wyżej wpisów jest około 200 dodaje nazwę tylko pierwszego wypisanego na ekran. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
1. mysqli_error() wymaga argumentu - czyli coś musi być w nawiasie
2. magiczne słówko "die" http://php.net/manual/pl/function.mysql-query.php 3. chyba próbujesz wstawić w pole _id pusty ciąg. Na oko nie powinno być puste ono, a raczej unikalne dla każdego rekordu Ten post edytował bpskiba 23.03.2013, 12:33:53 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wiem ze powinno tam być "or die ("bla bla bla") czy jest tak czy tak i tak jest to samo a samo mysql_error() może być bo chce aby zwrócił mi się błąd od mysql a nie to co pisze w nawiasie or die (chyba że Lary Ulman w książce Dynamiczne tworzenie stron www popełnił błąd bo to jest z jego książki wzięte samo mysql_error();
Nie w tym rzecz chodzi u o samo wpisanie danych do bazy danych(MySQL) pomimo iż wyświetlam na monitorze 200wierszy z danymi przechodzi tylko jedna i na tym się kończy ID jest puste ponieważ baza ma AI więc nr się samo. Powalczę jeszcze może coś z danymi jest nie tak w xml. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 169 Pomógł: 1 Dołączył: 30.09.2010 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Powinno być tak:
Jeśli to nie zadziała to masz coś nie tak ze strukturą bazy danych. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
ja tak mam napisałem wyżej że i tak robiłem i tak, ale to nic nie zmienia wrzuca dane z pętli a w baze ni holere
A może o być przez to że baza ma 6 kolumn a ja wrzucam tylko 2 lub 3? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Zadajesz głupie pytania. Skoro nie jesteś pewien to sprawdź. Ja pewien nie jestem, ale wydaje mi się, że nie.
![]() Spróbuj jeszcze wbić suche dane typu same jedynki, wtedy będziesz miał pewność, że to nie wina twojego skryptu jeżeli nie doda tylko np. nadmiernej liczby zapytań w czasie. co do wypowiedzi bpskiba na temat wbijania pustego ciągu. Pole pole_id jest najprawdopodobnie polem Auto Incument, czyli samo się uzupełnia. MySQL nie wbije nic bo "nic" nie podajemy tylko nada automatycznie pole, sam przecież chyba wiesz... Sam często podaję wartość do pola typu Ion Cube jako '' i jakoś nigdy z tym problemu nie miałem. Ten post edytował Wazniak96 23.03.2013, 19:04:21 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
ło matko...
W Twoim listingu nie ma słowa "die" - poszukaj go sam Wywołujesz funkcję mysqli_error() a nie mysql_error() - widzisz rożnicę? Nie wbija się pustego ciągu w pole klucza ! jakis_login napisał jak ta linia powinna wyglądać Ten post edytował bpskiba 24.03.2013, 06:45:50 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
A ja napisze po raz ostatni chyba już trzeci ze t linia u mnie TEŻ TAK WYGLĄDAŁA!!!!!! tutaj po prostu wpisałem to co mi na końcu została po przerubkach
miałem samo or die ("Nic nie odano"); or die( mysql_error() ); próbowałem również z MySQLI jak i samym MySQL wiem ze tu jest błąd ja się pytam dla czego to mi nic w bazę nie wpisuje a nie czemu to pokazuje błąd ja o nim wiem Panowie może napiszę to tak zrozumiale mam taki plik XML
A do bazy dodaje mi się tylko to "_Gadżety i Prezenty" cała reszta pomimo że wyskakuje na monitorze do bazy nie wędruje tylko pierwszy ciąg chyba zacznę powoli czytać może o DOM XML a może moja struktura bazy jest zła baza danych to sklep virtuemart Joomla |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 169 Pomógł: 1 Dołączył: 30.09.2010 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Stwórz sobie nową tabele w bazie np. test i dodaj dwie kolumny: `virtuemart_categoty_id` oraz `category_name`, dla `virtuemart_categoty_id` ustaw typ danych jako INT oraz Auto Increment i wtedy spróbuj wykonać swoje zapytanie w taki sposób:
Potem napisz tutaj swoje spostrzeżenia. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 11.03.2013 Ostrzeżenie: (0%) ![]() ![]() |
A więc moje spostrzeżenia po utworzeniu nowej bazy i tylko dwóch kolumnach działa jak należy i nawet wiem gdzie jest błąd, baza o której pisałem niestety nie ma ID na AI
![]() ![]() Ale i tak mój skrypt jest teraz do niczego bez tego AI w bazie wszystko jest do "dupy", nie zrobię z tego menu choćby nie wiem co. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 08:10 |