Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]pobranie z bazy a polskie znaki, gdzie dodać zapytanie
Forum PHP.pl > Forum > Przedszkole
Majzel
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 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 ... :/
paziek
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.
Majzel
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?
paziek
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. ?>
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.