Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zapis z CURLa do bazy MySQL
Killerek
post 2.06.2014, 17:53:13
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

Ostrzeżenie: (10%)
X----


Witam,

mam taki problem, że pobierając za pomocą curl treść strony np. www.stronka.pl to wyświetla poprawnie wyświetla to co tam się znajduje czyli:
  1. gvcqqjHt24NR505g1qMbo5eXuGj2Bw/6GyD9slH+M/gMZzPYm5sAkydbwP0jAxS8DtCDVg37Lyq4gRDE1eiljyV4a67SxwAMOnQAo44dmQka37kzmHfrysRfW+
    lv8aeL0iEoyApMTQYooLI1PmiLerfB/zp8RYoqWkrwfkWl//nnMBZDMMQQiDEGMK5TJ5jQtQvzHD6EZc/0g9Wro+Cn6xa4gPSrQdf/NL/+DQE8PSApzZLsm/NmXr80fl9yucOfAahGNxCAmAJTxo9m9LdBeByBFxjjce70rkGrKu2z/8cAGiuAiq3vPmBl1JtfNks/I/3ypWJtc3Z5Q1spgDHyOiDWAhMMQLy8ZJrTeMavs6sOBvjGqGYbIXSBIV8J/iuFqhcU5dh4ET56kiTrt5MTJBnSrQlr3vxd1rFja1DptWsHYhqITqAQrDR6MfGqTHrtIDxwwysonZpth
    NRp/4YKnO0lUS/obQt5m2JfE9wEvgh5h+2f34IVZ7aTXiYnukB0AoUgApiHV4qEXlYK951x7xxac0VFaFuRA6g7oup3d39
    Esb9bdJ3i989rzg6l/pUdX9FVCmAUBqAvE11gicWTecFOjC6R4TsHgOua0tYn4PxXn6fqI9zi3f9g4Vj02pCm7IvQZjzionAae
    VKaOxBUI+ilsnIXiE6gECz69GTJWDzZu3eeWgCtFEXJ7yqF2wz5zxUriDbPDX0Xdic2ZwcXtoTDSz6Fkq
    wO7FSOBnNyGiu9VFZ0gegECsEciydzAuwZvYQOvnPEAIbA0YzWClpMqPiGTi7FsXYh9P/lkyS/27pBbzbK6kXnRbzPDqZ+iEV/wmi0j6/sBqXrBjEHB312/4wzqIa3aQOiC0Qn0NWhWa/ubJavLTt0KJVvH28WakGXLm0VuWHNpfSDVH8sKlamXvC68OawYdpf2KFF/wNH0lux4qz2XDQ5vbYfnC3QgUu7xrEHZ13Yk2tRNS+Xpy4YqRaCCd4kkVh3c8bb4EMvuHVgJGxN7KDIi/yAR+H/JQS1Vs5RL3ZKM6VYQs9JaD5Tax9d2pYdW94JTq7uyUpzB3DRpGK7Idw7ZQNVFZPY9fJpjGqS3jCh9o4R
    ng7IsEtnpITB+VnlvBaIFRd8MGFxg6+PWYGNw8awqUd+goaLZqj5RuG19ioqyxUF7bqQ+UuQ3brsCncPW
    HBq7VAc5kKpa47ezgUcnOnMfGy92PF6XAA16Z16ZEsNcYDot0mMG+TkWCnNZAZ43Y+qlNHZZ0T75KlWv8
    XRxF+VzdIlnAAAAAASUVORK5CYII=


jednakże gdy chce już to zapisać do bazy danych to nic się nie zapisuje. Co w tym kodzie jest nie tak?

Kod curla:
  1. $curl = curl_init();
  2. //Inicujemy curl
  3.  
  4. curl_setopt($curl, CURLOPT_URL, 'http://cdn.mclista.ct8.pl/favicon.php?s='.$_POST['ip'].'');
  5. //pobieramy dane z strony
  6.  
  7. curl_setopt($curl, CURLOPT_REFERER, "http://www.google.pl/");
  8. //ustawiamy refferer na www.google.pl (niektóre strony mają zabezpieczenia
  9.  
  10. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  11. //podążamy za ewentualnym przekierowaniem
  12.  
  13. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  14. //wyniku nie wyświetlamy a zapisujemy do zmiennej co ułatwia prace nad nim
  15.  
  16. curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)');
  17. //ustawiamy useragent (niektóre strony mają zabezpieczenia)
  18.  
  19. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  20. //Maxymalny czas połączenia ze stroną
  21.  
  22. curl_setopt($curl, CURLOPT_HEADER, 0);
  23. //nie chcemy dołączać nagłówka
  24.  
  25. $strona = curl_exec($curl);
  26. //uruchamiamy skonfigurowanego curla

Kod do zapisu:
  1. mysql_query("INSERT INTO `tablea` (`favicon`) VALUES ('$country', '$favicon')");


i gdy ten kod się wykona do bazy się nic nie zapisuje, ale gdy podmienie
  1. $strona = curl_exec($curl);
na
  1. $strona = 'gvcqqjHt24NR505g1qMbo5eXuGj2Bw/6GyD9slH+M/gMZzPYm5sAkydbwP0jAxS8DtCDVg37Lyq4gRDE1eiljyV4a67SxwAMOnQAo44dmQka37kzmHfrysRfW+
    lv8aeL0iEoyApMTQYooLI1PmiLerfB/zp8RYoqWkrwfkWl//nnMBZDMMQQiDEGMK5TJ5jQtQvzHD6EZc/0g9Wro+Cn6xa4gPSrQdf/NL/+DQE8PSApzZLsm/NmXr80fl9yucOfAahGNxCAmAJTxo9m9LdBeByBFxjjce70rkGrKu2z/8cAGiuAiq3vPmBl1JtfNks/I/3ypWJtc3Z5Q1spgDHyOiDWAhMMQLy8ZJrTeMavs6sOBvjGqGYbIXSBIV8J/iuFqhcU5dh4ET56kiTrt5MTJBnSrQlr3vxd1rFja1DptWsHYhqITqAQrDR6MfGqTHrtIDxwwysonZpth
    NRp/4YKnO0lUS/obQt5m2JfE9wEvgh5h+2f34IVZ7aTXiYnukB0AoUgApiHV4qEXlYK951x7xxac0VFaFuRA6g7oup3d39
    Esb9bdJ3i989rzg6l/pUdX9FVCmAUBqAvE11gicWTecFOjC6R4TsHgOua0tYn4PxXn6fqI9zi3f9g4Vj02pCm7IvQZjzionAae
    VKaOxBUI+ilsnIXiE6gECz69GTJWDzZu3eeWgCtFEXJ7yqF2wz5zxUriDbPDX0Xdic2ZwcXtoTDSz6Fkq
    wO7FSOBnNyGiu9VFZ0gegECsEciydzAuwZvYQOvnPEAIbA0YzWClpMqPiGTi7FsXYh9P/lkyS/27pBbzbK6kXnRbzPDqZ+iEV/wmi0j6/sBqXrBjEHB312/4wzqIa3aQOiC0Qn0NWhWa/ubJavLTt0KJVvH28WakGXLm0VuWHNpfSDVH8sKlamXvC68OawYdpf2KFF/wNH0lux4qz2XDQ5vbYfnC3QgUu7xrEHZ13Yk2tRNS+Xpy4YqRaCCd4kkVh3c8bb4EMvuHVgJGxN7KDIi/yAR+H/JQS1Vs5RL3ZKM6VYQs9JaD5Tax9d2pYdW94JTq7uyUpzB3DRpGK7Idw7ZQNVFZPY9fJpjGqS3jCh9o4R
    ng7IsEtnpITB+VnlvBaIFRd8MGFxg6+PWYGNw8awqUd+goaLZqj5RuG19ioqyxUF7bqQ+UuQ3brsCncPW
    HBq7VAc5kKpa47ezgUcnOnMfGy92PF6XAA16Z16ZEsNcYDot0mMG+TkWCnNZAZ43Y+qlNHZZ0T75KlWv8
    XRxF+VzdIlnAAAAAASUVORK5CYII=


to wszystko zapisuje poprawnie... Nie rozumiem. Co tu jest nie tak?
Go to the top of the page
+Quote Post
johny_s
post 2.06.2014, 18:00:20
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


Włącz sobie wyświetlanie błędów skryptu i raportowanie błędów bazy
Go to the top of the page
+Quote Post
Killerek
post 2.06.2014, 18:02:09
Post #3





Grupa: Zarejestrowani
Postów: 89
Pomógł: 2
Dołączył: 15.12.2012

Ostrzeżenie: (10%)
X----


Cytat(johny_s @ 2.06.2014, 19:00:20 ) *
Włącz sobie wyświetlanie błędów skryptu i raportowanie błędów bazy


Jestem początkujący w PHP i niezbyt rozumiem :/
Go to the top of the page
+Quote Post
nospor
post 3.06.2014, 10:50:53
Post #4





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




Tu masz napisane jak wyswietlac bledy php oraz bledy bazy
Temat: Jak poprawnie zada pytanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
grexlort
post 4.06.2014, 15:32:47
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 1
Dołączył: 10.05.2013

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


Daj cały skrypt, albo przynajmniej fragment gdzie podstawiasz coś pod $country i $favicon. Bez tego można tylko zgadywać.
Jakiego typu jest w bazie favicon i country i jaki mają limit znaków?

to nie jest czasem literowka?
  1. "INSERT INTO `tablea`


Spróboj zamienić
  1. $strona = curl_exec($curl);

na
  1. $strona = htmlspecialchars(curl_exec($curl));


można by też zrzutować na koniec do stringa, ale nie wiem czy koniecznie
  1. $strona = (string)htmlspecialchars(curl_exec($curl));


A co do samego zapytania to mam wrażenie że jak podajesz nazwe kolumn do których chcesz wstawiać to musisz potem podać wszystkie.

Więc zamiast ( zakładając ze tablea to nie literowka)
  1. mysql_query("INSERT INTO `tablea` (`favicon`) VALUES ('$country', '$favicon')");

to
  1. mysql_query("INSERT INTO `tablea` (`country`,`favicon`) VALUES ('$country', '$favicon')");
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 16:58