Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Kilka prostych pytań o PDO, html do bazy
fate
post 30.11.2014, 20:20:55
Post #1





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Witajcie, od wczoraj skubnąłem w końcu mySQLa czyli koniec z plikami, metoda prób i błędów, używam PDO oraz phpmyadmin potrzebuję kilku wyjaśnień bo kazdy robi po swojemu i nie wiadomo z kogo brac przykład wacko.gif

1. Prepare powinienem stosować podczas kazdego rodzaju operacji: INSERT, UPDATE czy również SELECT?
2. Bindowanie robimy tylko przy INSERT, czy równiez UPDATE?
3. Dlaczego nie moge ustawic wlasciwosci Dlugosc/Wartosci w phpmyadmin (nic sie nie zmienia) dla TEXT a dla VARCHAR moge?
4. Czy prawda: Jak robie zapytanie tylko przez exec to mi liczy rekordy, jak zamiast tego zrobie prepere i execute to zeby policzyc musze zrobic fetch_all? czy jest jakis inny sposob?
5. Jak wrzucać HTML do bazy i go wyciągać, obecnie robie najpierw htmlspecialchars a potem przy odbiorze decode, wiem ze real_escape nie stosuje sie w PDO czy zamiast tego robic prepare? i co wtedy przy wyciaganiu i wyswietlaniu i czy to konieczne najchetniej wrzucalbym to w czystej postaci ale sypało mi bledy chyba przez cudzysłowia
6. Co mogło być zasadniczą przyczyną że ucinało mi string wrzucany do bazy gdy wsytąpił w nim znak niezakodowany w utf-8?

Wybierajcie sobie pytania jak nie chce wam sie czytac calosci, bede wdzieczny spie.gif


--------------------
Go to the top of the page
+Quote Post
Spawnm
post 30.11.2014, 20:31:26
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




3. podstawy sql, masz w manualu...
4. fetchColumn()
5. htmlspecialchars dajesz w widoku, nie przed zapisem do bazy.

W prepare dajesz sql bez danych od usera, zastępujesz je ? lub :nazwa. Dane od usera dajesz np w execute($tablica).

Go to the top of the page
+Quote Post
Crozin
post 30.11.2014, 20:38:55
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Każdego zapytania, które otrzymuje parametry z zewnątrz bądź jest wykonywane wielokrotnie. Generalnie: zawsze.
2. Zawsze, gdy masz coś do przekazania z zewnątrz - czyli: ze zmiennej.
3. Kolumna typu TEXT nie ma po prostu czegoś takiego. Do poczytania: http://dev.mysql.com/doc/refman/5.7/en/string-types.html
4. Wszystko masz w dokumentacji: http://php.net/manual/en/pdo.exec.php#refs...ec-returnvalues
5. htmlspecialchars używa się przed wyświetleniem czegoś w dokumencie HTML. Dla bazy danych znaki typu < czy & nie mają żadnego znaczenia.
6. Jeżeli masz nieprawidłową sekwencję w UTF-8 baza może zareagować na to błędem bądź "ucięciem" danych - trzeba by sprawdzić w dokumentacji. Ale podejrzewam, że masz tutaj coś innego na myśli - opisz dokładniej.
Go to the top of the page
+Quote Post
fate
post 1.12.2014, 16:10:32
Post #4





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


Spawnm, masz na mysli bindowanie lub obróbkę?
W tym przypadku dane pochodza od user-admina dostep po zalogowaniu bez mozliwosci rejestracji, ale na pewno bede w przyszlosci musial je zabezpieczać.
Crozin
Co do punktu 5 pogmatwałem SQL injection z HTML injection, wnioski robić prepere zeby uchronic sie przed tym 1
Punkt 6:
Ogólnie namieszałem: plik utf-8 wrzucilem na ftp potem w dedykowanym tam edytorze ftp coś dokleiłem z polskimi znakami, skonwertowało mi do asci(?!-html number) wszystko oprócz: ó, potem skopiowałem to do notepad++ zedytowałem i zmieniłem kodowanie na utf8 wtedy te ó zamieniły mi się na jakieś hexy(?!) no i potem pobranego htmla z takiego pliku próbowałem w ramach ćwiczeń wrzucac do bazy i dopóki nie zrobiłem htmlspecialchars były błędy, a potem po za to szło ale ucinało.
Wniosek: nie musze robic htmlspeciachars problemu juz nie powinienem mieć tylko musze sie trzymac notepada

Dziekuję za odp czuje sie o wiele madrzejszy nerdsmiley.png


--------------------
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: 19.04.2024 - 05:48