![]() ![]() |
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 |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Pokaz caly kod jak wladasz do bazy. To raz.
A dwa po grzyba tam jest typ BLOB? |
|
|
|
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 |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 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 |
|
|
|
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 (IMG:style_emoticons/default/smile.gif)
<!--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 |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 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? |
|
|
|
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. |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 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? |
|
|
|
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?
|
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 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); |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 11.08.2012 Ostrzeżenie: (0%)
|
bool(true)
|
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
No to niemozliwe. tam musi byc cos jeszcze, czego nie widac w tym co pokazujesz
|
|
|
|
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
|
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 22:34 |