Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL][Wordpress] brak chęci zapisu zmiennej do bazy
followc
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


Witam,
Nie potrafię niestety dojść dlaczego poniższy kod nie chce działać
  1. do{
  2. array_push($url, $_POST['hz'.$ui]);
  3.  
  4. $wpdb->insert('wp_galeria_zdjec', array(
  5. 'ID_galerii' => $id_galerii,
  6. 'URL' =>$url[$ui],
  7. 'kolejnosc' => $ui
  8. ));
  9.  
  10. $ui++;
  11. $uj = $ui -1;
  12.  
  13. }while($url[$uj]);


ID_galerii jest wyliczane wcześniej i nie ma problemu z jej zapisem, tak samo z 'kolejnosc'. Problem dotyczy 'URL' które pobierane jest z $_POST. Jeśli zmienię na zwykły, stały tekst zapisuje, bez problemu. W bazie powinno trafiać do pozycji VARCHAR. Czy ktoś potrafi mnie ukierunkować?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
nospor
post
Post #2





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




Najwyraznie $url[$ui] nie istnieje. Czemu nie zrobisz
var_dump($url);
var_dump($ui);
by sprawdzic co tam dokladnie siedzi? Nie trzeba byc Sherlockiem by takie cuda robic
Go to the top of the page
+Quote Post
followc
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


Tak, zapomniałem dodać, że istnieje. var_dump($url):

  1. array(1) { [0]=> string(55) "/wp-content/uploads/3mw/1522099361.227/facebook_2_2.png" }
  2. array(2) { [0]=> string(55) "/wp-content/uploads/3mw/1522099361.227/facebook_2_2.png" [1]=> string(52) "/wp-content/uploads/3mw/1522099361.227/19dllast.png" }
  3. array(3) { [0]=> string(55) "/wp-content/uploads/3mw/1522099361.227/facebook_2_2.png" [1]=> string(52) "/wp-content/uploads/3mw/1522099361.227/19dllast.png" [2]=> string(92) "/wp-content/uploads/3mw/1522099361.227/28336185_1982273462090242_2971931929253068969_o 2.jpg" } ...
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




Hm.... pokaz jeszcze dla pewnosci
var_dump($url[$ui]);
przed insert.

Go to the top of the page
+Quote Post
followc
post
Post #5





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


string(55) "/wp-content/uploads/3mw/1522099361.227/facebook_2_2.png" string(52) "/wp-content/uploads/3mw/1522099361.227/19dllast.png" string(92) "/wp-content/uploads/3mw/1522099361.227/28336185_1982273462090242_2971931929253068969_o 2.jpg" string(90) "/wp-content/uploads/3mw/1522099361.227/13669385_1813168668905188_1384241611666224281_o.jpg" string(92) "/wp-content/uploads/3mw/1522099366.341/28336185_1982273462090242_2971931929253068969_o 2.jpg" string(52) "/wp-content/uploads/3mw/1522099366.341/19dllast.png" string(55) "/wp-content/uploads/3mw/1522099366.341/facebook_2_2.png" string(90) "/wp-content/uploads/3mw/1522099366.341/13669385_1813168668905188_1384241611666224281_o.jpg" string(92) "/wp-content/uploads/3mw/1522099377.857/28336185_1982273462090242_2971931929253068969_o 2.jpg" string(55) "/wp-content/uploads/3mw/1522099377.857/facebook_2_2.png" string(58) "/wp-content/uploads/3mw/1522099395.262/ace-167052_1280.jpg" NULL


Czyli to wszystko chce się wpakować do zmiennej, gdzie oczekuję tylko pojedynczych części. W zamian w bazie dostaję tylko NULL.

Ten post edytował followc 27.03.2018, 12:20:34
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




czyli mowisz, ze jak dasz
'URL' =>'blabla',
to ci ladnie wklada ten URL

a gdy dasz
'URL' =>$url[$ui],
to ci wklada wszystko do rekordu procz URL?

Mozesz pokazac jeszcze strukture tabeli wp_galeria_zdjec?
Go to the top of the page
+Quote Post
followc
post
Post #7





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


Gdy wpiszę 'blabla' dodaje 'blabla', gdy próbuję $url[$ui] w sumie pakuje tylko NULL-a

ID int(6)
ID_galerii int(6)
URL varchar(44)
kolejnosc varchar(6)

Ten post edytował followc 27.03.2018, 12:35:43
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




Wybacz, ze tak cie mecze, ale czy moglbys pokazac jeszcze raz caly kod po tym jak dodales
var_dump($url[$ui]);
?

ps: kolejnosc to powinna byc raczej INT a nawet TINYINT
Go to the top of the page
+Quote Post
followc
post
Post #9





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


  1. do{
  2. array_push($url, $_POST['hz'.$ui]);
  3.  
  4.  
  5. var_dump($url[$ui]);
  6. echo '%%%'.$url[$ui];
  7.  
  8. $wpdb->insert('wp_galeria_zdjec', array(
  9. 'ID_galerii' => $id_galerii,
  10. 'URL' => $url[$ui],
  11. 'kolejnosc' => $ui
  12. ));
  13.  
  14. $ui++;
  15. $uj = $ui -1;
  16.  
  17. }while($url[$uj]);


A, właśnie. Kolejność to było int, ale wtedy też nie zapisywało. Dopiero po zmianie na varchara dodaje do bazy.

Ten post edytował followc 27.03.2018, 13:44:20
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Cytat
Dopiero po zmianie na varchara dodaje do bazy.
Zart jakis... to wyglada jakby tam cos bylo mocne zwalone...no ale to WP to co sie dziwic (IMG:style_emoticons/default/wink.gif)
Pokaz dla wszystkiego jeszcze
var_dump($ui);
ale powiem ci szczerze ze zaczynam sie poddawac. Nie odgadnione sa sciezki WP
Go to the top of the page
+Quote Post
Toshikatsu
post
Post #11





Grupa: Zarejestrowani
Postów: 26
Pomógł: 3
Dołączył: 18.10.2017

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


Nie jestem pewien czy aby przypadkiem "URL varchar(44)" nie jestm problemem.
Czy to aby nie działa tak, że w nawiasie varchar'a podaje się ile maksymalnie znaków może zmieścić?

Spróbuj wrzucić dowony z URL'i z palca dla przetestowania
Go to the top of the page
+Quote Post
followc
post
Post #12





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


Problemem był varchar(44). Akceptował po prostu krótsze ciągi niż te które próbowałem przesłać... Niby taka oczywista sprawa.
Dziękuję Panowie.

Ten post edytował followc 27.03.2018, 14:09:27
Go to the top of the page
+Quote Post
nospor
post
Post #13





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




no tak, caly czas przed nosem to bylo... starzeje sie normalnie (IMG:style_emoticons/default/sad.gif)
@Toshikatsu good catch (IMG:style_emoticons/default/smile.gif)

NIe mnie jednak zmylil mnie ten nie dzialajacy INT na kolejnosc. Tam tez musi byc cos nie halo swoja droga
Go to the top of the page
+Quote Post
followc
post
Post #14





Grupa: Zarejestrowani
Postów: 179
Pomógł: 0
Dołączył: 30.12.2013
Skąd: Gdańsk

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


I tu też winny varchar(44). Błąd w tym miejscu wpływał także na kolejny zapis. Po zwiększeniu dopuszczalnego rozmiaru URL i zmianie kolejnosci z powrotem na INT wszystko gra.
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 - 13:17