Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]pobranie z bazy a polskie znaki, gdzie dodać zapytanie
Majzel
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 3.07.2007

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


Mam taką funkcję, która pobiera z bazy kategorie:
  1. <?php
  2. function pobierz_kategorie()
  3. {
  4.  // zapytanie bazy danych o listę kategorii
  5.  $lacz = lacz_bd();
  6.  
  7.  $zapytanie = 'select idkat, nazwakat
  8.  from kategorie';
  9.  $wynik = @$lacz->query($zapytanie);
  10.  if (!$wynik)
  11. return false;
  12.  $ilosc_kat = @$wynik->num_rows;
  13.  if ($ilosc_kat ==0)
  14. return false;
  15.  $wynik = wynik_bd_do_tablicy($wynik);
  16.  return $wynik;
  17. }
  18. ?>


no i chciałbym żeby te kategorie miały polskie znaki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tak więc gdzie dodać:
  1. <?php
  2. mysql_query('SET CHARSET latin2');
  3. ?>

?

Bo mi wyskakują błędy gdy dodam to, chyba w złym miejscu dodaje.
pzdr.


//aha a może za jednym razem do wzystkich funkcji by to działało? czy dało by się te mysql_query dodać do:
  1. <?php
  2. function lacz_bd()
  3. {
  4.  $wynik = new mysqli('localhost', 'ksiazka_kz', 'xx', 'ksiazka_kz');
  5.  if (!$wynik)
  6. return false;
  7.  $wynik->autocommit(TRUE);
  8.  return $wynik;
  9.  
  10. }
  11. ?>
?

-------- Edited by Ociu:
Do autora wątku, jeżeli dajesz kod php to wrzucaj go w odpowiednie bbCode. To nie pierwszy Twój post, gdzie nie używasz odpowiedniego bbCode. Następne Twoje tematy, gdzie nie będziesz dawał odpowiedniego bbCode będą zamykane.


ok już będę dawał znaczniki [ php ] - [ code ] to moje przyzwyczajenie z innych for ... :/

Ten post edytował Majzel 4.08.2008, 15:57:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
paziek
post
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


to dodajesz (zazwyczaj) przed wysłaniem innych zapytań, ale (oczywiście) po połączeniu się z bazą. (ten kod który podałeś jest dla funkcji mysql, powinieneś użyć kod dla mysqli, skoro używasz tego sterownika)

Pamiętaj, że nie zawsze samo wysłanie tego zapytania wystarcza - trzeba się upewnić, że dane są poprawnie zapisane w bazie, że plik php jest zapisany w odpowiednim kodowaniu, że jest wysyłany przeglądarce w odpowiednim kodowaniu.. straszny bajzel z tymi kodowaniami jest - tak szczerze powiedziawszy.
Go to the top of the page
+Quote Post
Majzel
post
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 3.07.2007

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


dzięki, ale dalej nie wiem, w którym to dac miejscu załóżmy ze mam taki kodzik:
Kod
  @ $db = new mysqli('localhost', 'root', '', 'ksiazki');
  mysql_query("SET NAMES latin2");


no i daje po polączeniu od razu zmiane kodowania, i wyskakuje błąd:


Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\wamp\www\rozdzial11\rezultaty.php on line 29

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\wamp\www\rozdzial11\rezultaty.php on line 29

podobnie jest w poście wyżej, nie wiem co jest... jak sobie z tym radzicie?? gdzie w końcu dać te zapytanie?

Ten post edytował Majzel 4.08.2008, 14:41:32
Go to the top of the page
+Quote Post
paziek
post
Post #4





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


bo tworzysz połaczenie za pomoca mysqli, a wykonujesz zapytanie za pomocą mysql

  1. <?php
  2. @$db = new mysqli('localhost', 'root', '', 'ksiazki');
  3. $db->query("SET NAMES latin2");
  4. //mysqli_query($db, "SET NAMES latin2");//ewentualnie to, ale nie wiem, czy działa na połączeniu rozpoczetym obiektowo, cz
    y musi byc proceduralnie
  5. ?>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 19:34