Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Konwersja emotikon do bazy danych
Forum PHP.pl > Forum > PHP
maksik
Chciałbym dać możliwość dodawania emoticon z telefonu do bazy danych utf-8 lecz w jaki sposób jednocześnie zabezpieczyć dodawanie rekordów przed apostrofami?

Gdy dodam mysql_real_escape_string() emotikony znikają
gitbejbe
to wrzuć jako hash, np base_64. Po pobraniu z bazy dekodujesz i obrabiasz jak chcesz
maksik
Czy jest możliwość, aby jakoś wykryć w całym rekordzie i tylko zakodować emotikony?
viking
Wywal tą bzdurę escape string i poczytaj o bindowaniu http://php.net/manual/en/mysqli.prepare.php
com
mysql_real_escape_string ta metoda nie wiele Ci daje, lepiej użyć prepare
maksik
Cytat(com @ 1.06.2016, 20:32:21 ) *
mysql_real_escape_string ta metoda nie wiele Ci daje, lepiej użyć prepare


Jaka jest zasadnicza różnica? używam escape_string by uniknąć sql injection w czym mogłoby być lepsze prepare?
com
w tym, że escape_string nie chroni przed sql injection, używało się dawno temu w mysql_* którego już w core php nie ma dlatego, że nie było tam nic innego i dlatego już tego w php nie ma teraz jest mysqli i pdo, które mają własnie prepare wink.gif
maksik
Dzięki za informację. Samo prepare raczej nie rozwiązuje problemu z emotikonami
com
nwm w jaki sposób masz je reprezentowane ale zapewne jest to string wiec, nie widzę problemu wink.gif
viking
Co to robiło po stronie mysql? http://dev.mysql.com/doc/refman/5.7/en/mys...ape-string.html
Zapewne w twoim stringu są któreś z tych znaków podczas wyświetlania stąd niepoprawna reprezentacja. Zmienisz na nowsze metody i zacznie działać.
maksik
Takie ogólne pytanie, mysqli jest nowsze niż mysql? (czy lepsze?)
viking
mysql nie ma już w najnowszym php. Od lat wisi o tym komunikat w dokumentacji.
Używaj mysqli albo PDO.
maksik
  1. $stmt = $mysqli->prepare("INSERT INTO Table (text) VALUES (?)");
  2. $stmt->bind_param('s', $_POST['text']);
  3. $stmt->execute();
  4. $stmt->close();


W tekście jest zawarta emotikonka 😅 lecz nie widać jej w rekordzie, jest coś źle zastosowane?
KsaR
Cytat(maksik @ 1.06.2016, 23:49:29 ) *
(...)
W tekście jest zawarta emotikonka questionmark.gif lecz nie widać jej w rekordzie, jest coś źle zastosowane?

Cytat(maksik @ 1.06.2016, 16:56:27 ) *
Chciałbym dać możliwość dodawania emoticon z telefonu do bazy danych utf-8 (...)

http://forum.php.pl/index.php?showtopic=25...t&p=1193070
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.