Co robię źle z zapisem do bazy - Serializer, Array |
Co robię źle z zapisem do bazy - Serializer, Array |
18.12.2018, 16:50:01
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
Witam, pewnie jakaś pierdoła ale do diabła nie mogę zapisać danych do bazy. Wysyłam formularzem wiele danych a poniższy foreach wyłapuje wartości checked (jest tego masa więc chcę wyłapać zaznaczone.
Chcę dodać do jednej kolumny w bazie same id postaci 1,2,3,4,5 itd a drugie jako serializer '1'=>'Piwnica', '2'=>'Podwórko' itd.
Zmienna $liczby zawiera dokładnie '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,' nie mogę oddać tego bezpośrednio do bazy ze zmiennej '$_liczby'. Kiedy tworzę inną zmienną z tą samą zawartością to dodaj się do bazy.. Tak wygląda tabwithid
serialized
I do bazy się nie zapisuje mimo że jest BLOB i wszystko działa bo sprawdzałęm inną funkcją więc dodają się prawidłowe serializery Ten post edytował designez 18.12.2018, 16:56:35 |
|
|
18.12.2018, 17:25:16
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Pokaz caly kod jak wladasz do bazy. To raz.
A dwa po grzyba tam jest typ BLOB? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.12.2018, 17:44:02
Post
#3
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
Korzystam z klasy Wrap PDO mniej kodu itd. Testowałem te same zapytania na normalnych zapytaniach PDO i też nie działa więc to nie jest po stronie zapytań.
Dla porównania mam starą funkcję SerializeInfo () i te wartości dodają się prawidłowo również do pół gdzie nie mogę wbić wartości jakie chcę.
Zgłupiałem bo zmienna $liczby zawiera string '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855' i nie mogę tego dodać do bazy. Natomiast tworząc zmienną o tej samej zawartości mogę ją dodać. Serializera mogę sobie odpuścić ale nie mogę oddać po prostu '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855' ze zmiennej $_liczby zaraz za pętlą Ten post edytował designez 18.12.2018, 17:41:31 |
|
|
18.12.2018, 17:50:17
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Strasznie chaotycznie to wszystko opowiadasz
Pokaz dokladnie co zwraca var_dump za ta linijka $values = ['dodatkowe_cechy' => $_liczby,'cechy_serialized'=>$serialized_data,'info'=>$seriaized2]; var_dump($values); tuz przed dodaniem do bazy -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.12.2018, 12:16:34
Post
#5
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
Tak wiem żona też mi marudzi że tłumaczę chaotycznie
<!--Geshi:488749:php--><pre class="php-brief" style="font-family:monospace;"><div class="head">
Powyższe działa ale taki kod już nie
Daje takiego var_dump-a
Wartość 'dodatkowe_cechy' bazy jest pusta po takim update info się zmienia Mam ustawioną wersję PHP 7.0.33 może tutaj coś się zmieniło w tablicach. Zmienię na 5.6 zobaczę jaka jest różnica. Ten post edytował designez 19.12.2018, 12:23:45 |
|
|
19.12.2018, 12:22:43
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
czyli to
$values = ['dodatkowe_cechy' => $_liczby,'info'=>SerializeInfo()]; nie dziala ale juz to: $values = ['dodatkowe_cechy' => '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,','info'=>SerializeInfo()]; dziala? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.12.2018, 12:30:04
Post
#7
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
czyli to $values = ['dodatkowe_cechy' => $_liczby,'info'=>SerializeInfo()]; nie dziala ale juz to: $values = ['dodatkowe_cechy' => '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,','info'=>SerializeInfo()]; dziala? 1 przykład nie działa. 2 działa poniższe też działają
Nie działa to dziadostwo
Mimo że var_dump daje identyczny wynik nie mogę dodać nic co pochodzi z foreach do bazy mimo że echo czy var_dump zaraz za zapytaniem i za pętlą wygląda dobrze. |
|
|
19.12.2018, 12:37:17
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Wybacz za glupie pytania ktore bede ci zaraz zadawal ale no cos musi byc na rzeczy, a wiec:
jak wkladasz dane recxznie, np $_test= '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,'; to mimo wszystko foreach na liczby nadal sie wykonuje czy wowwczas juz go wylaczasz? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.12.2018, 12:59:14
Post
#9
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
Nie nie wyłączam to dopiero testuję taką funkcjonalność. Nie wyłączałem ponieważ zaraz za pętlą zmienna $_liczby ma taką samą wartość co $_test. Z tym że test się dodaje a _liczby nie. Może jest jakaś prostsza metoda na wyłapanie z tablicy post po prefiksie? i przypisanie do zmiennej?
|
|
|
19.12.2018, 13:02:16
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Kurcze, nie wazne czy robisz to trudniej czy prosciej skoro wynik jest taki jaki ma byc - w tym akurat przypadku rzecz jasna.
Jeszcze pokaz wynik: $por = $_liczby === '841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,'; var_dump($por); -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.12.2018, 13:06:03
Post
#11
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
bool(true)
|
|
|
19.12.2018, 13:10:54
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
No to niemozliwe. tam musi byc cos jeszcze, czego nie widac w tym co pokazujesz
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.12.2018, 19:00:55
Post
#13
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%) |
Wieczorkiem wrzucę cały kod jak to wygląda. Też jestem zaskoczony działaniem tego
Chyba wiem jaka jest przyczyna. Ten test robiłem w pliku index.phtml korzystałem z klasy widoku nospor'a i tutaj nie wiem dlaczego po wysłaniu formularza plik index.phtml wykonuje się 4 razy. Jak mogę zweryfikować co odpowiada za nadmierne przekierowania. Nie korzystam z żadnych headerów a mimo to strona po wysłaniu formularza uruchamia się 4 razy. Nic nie zmieniałem w tej klasie. htaccess
|
|
|
19.12.2018, 20:18:13
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 442 Pomógł: 6290 Dołączył: 27.12.2004 |
Mozesz miec dolaczone jakies css/jss lub chociazby avatar i gdy tych plikow nie ma, to leci na index. Latwo to sprawdzic czy jest wolanie o jakis zasob ktory nie istnieje w konsoli przegladarki.
Zas twoj skrypt powinien byz zabezpieczony i odpalac powinien swoja tresc tylko gdy form czy cos tam jest wyslane. Bo z opisu wynika ze odpala sie za kazdym razem pomimo ze nie powinien -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 06:09 |