Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapis z CURLa do bazy MySQL
Forum PHP.pl > Forum > Przedszkole
Killerek
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?
johny_s
Włącz sobie wyświetlanie błędów skryptu i raportowanie błędów bazy
Killerek
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 :/
nospor
Tu masz napisane jak wyswietlac bledy php oraz bledy bazy
Temat: Jak poprawnie zada pytanie
grexlort
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')");
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.