Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zapytanie PDO z polskimi znakami
castagir
post
Post #1





Grupa: Zarejestrowani
Postów: 146
Pomógł: 3
Dołączył: 28.10.2014

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


Witam

Ma problem z zapytaniem PDO, które chyba nie odczytuje polskich znaków. PDO Statement wygląda tak:

  1. try {
  2. $polaczenieBD = new PDO('mysql:host='.$nazwaSerweraBD.';dbname='.$nazwaBD, $uzytkownikBD, $hasloBD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
  3. $polaczenieBD->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  4. } catch (PDOExeption $e) {
  5. echo ($e->getMessage());
  6. }
  7.  
  8. $nazwaUzytkownika = 'gość';
  9.  
  10. $pytanie = $polaczenieBD->prepare("SELECT * FROM `endo_konta_uzytkownikow`
  11. WHERE nazwaUzytkownika=':param1'");
  12. $pytanie->bindValue(':param1', $nazwaUzytkownika);
  13. $pytanie->execute();



Baza danych jest zapisana w 'utf8_unicode_ci', próbowałem także w 'utf8_polish_ci'.

Wcześniej próbowałem rozwiązać ten problem za pomocą encji, lecz też to nic nie daje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





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




Cytat
Gdy podstawiłem zamiast :param1 normalnie gość to jeszcze dodatkowo błąd mi wywaliło, więc apostrofy muszą być.
Grunt to wyciagac "logiczne" wnioski....
Bindowanie to jest co innego niz wstawianie bezposrednio tekstu wiec
podaczas bindowania NIE MOZE byc apostrofów
Podczas wkladania normalnie tekstu MUSZĄ BYC apostrofy.
To są dwie różne rzeczy.
Go to the top of the page
+Quote Post

Posty w temacie


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: 17.10.2025 - 13:38