Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[MySQL] polskie znaki ...

Zdecydowałeś się na tworzenie interaktywnych stron przy pomocy PHP? Chcesz w łatwy i szybki sposób zarządzać danymi na swojej stronie? Tutaj znajdziesz pomoc w napotkanych przy tym trudnościach.

[MySQL] polskie znaki ...

Post 18.10.2005, 18:05:12

wiem ze ten temat byl tu juz setki razy i napewno załamujecie się widzac kolejny, ale od 3 godzin szukam na tym forum i w internecie rozwiazania mojego problemu i nadal nie ma efektów.

robilem strone na localhostcie na swoim kompie.
phpMyAdmin 2.6.0-pl2, MySQL 3.23.58, wszystko było dobrze, wiec przerzucam na serwer

na serwerze jest phpMyAdmin 2.6.1, MySQL 4.1.7. System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
Importuje starą baze i nie ma polskich znakow...
Probowalem zmieniac ręcznie w bazie pytajniki na polskie znaki ale to nic nie daje.

co ustawic w "System porównań dla połączenia MySQL"?
co ustawic w head w charset ?
jaki System porównań ustawić dla tabel ?
w jakim kodowaniu zapisywac pliki php i pliki z danymi?

Pomozcie, juz naprawdenie mam do tego sily
Pozdrawiam
Avatar użytkownikaSever
Posty: 726
Dołączył(a): 23.09.2003

Post 18.10.2005, 22:55:34

Witam!
Napisałem o tym już na forum phpbb by Przemo!
Brak polskich znaków występuje na serwerach z nowymi wersjami MySQL oraz phpMyAdmin.
Aby mieć polskie znaki zamiast znaków zapytania należy:
1. Wgrać w całości bazę danych na serwer, jeżeli baza już jest to ok.).
2. Ustawić w phpMyAdmin:
- język: Polish (pl-utf- 8)
- system porównań dla połączenia MySQL: utf8_general-ci
- dla konkretnej tabeli - metoda porównywania napisów: utf8_general-ci
3. Generalnie chodzi o polskie znaki w tabeli phpbb_post_text oraz phpbb_topisc (tabele odpowiedzialne za treść postów oraz ich tytuł) Oczywiście można zmienić wszystkie tabele np. odpowiedzialne za tematy for, użytkowników itp.).
4. W pliku sql gdzie mamy cały zrzut bazy danych odszukujemy zrzuty w/w tabel. Tworzymy nowy plik o nazwie post_text (oczywiście nazwa dowolna) i kopiujemy do niego z pliku sql dane tabeli phpbb_post_text. TYLKO DANE BEZ STRÓKTURY TABELI. Analogicznie do każdej tabeli nowy plik.
5. Otwieramy taki plik w edytorze pozwalającym na konwersje znaków (polecam EdHTML). Ustawiamy taki sposób kodowania aby polskie litery miały ogonki (ISO-8859-2).
6. Teraz nadszedł czas na zmianę na utf-8 (znaki Unicode). W opcjach programu wybieramy znajdź/zmień ewentualnie zastąp. W polu "znajdź" wpisujemy np. ą a w polu "zmień na" wpisujemy & # 261; (bez spacji) Klikamy OK i wszystkie ą zostają zmienione.
Kody polskich znaków w systemie Unicode znajdziecie m.in na http://www.kurshtml.boo.pl/skrypty/unicode.html
7. W ten sposób zmieniamy wszystkie polskie znaki na znaki Unicode.
Przykład: Zdanie z polskimi znakami: "Już będą wyświetlane prawidłowo."
Po naszej zmianie wygląda: Ju& #380; b& #281;d& #261; wy& #347;wietlane prawid& #322;owo.
8. Wchodzimy do phpMyAdmin, czyścimy tabelę w której chcemy dokonać zmian i za pomocą zakładki SQL wrzucamy (kopiujemy) zawartość naszego pliku (już ze znakami Unicode). Ważne aby przed przystąpieniem do uzupełniania tabeli wyczyścić ją a nie nadpisywać.
9. Przeglądając zmienioną tabelę widzimy już w niej znaki Unicode a na naszym forum są już polskie znaki!
Działa w 100%. Sprawdzałem na dwóch serwerach na których właśnie po przejściu na nowe wersje
programów na forach występowały znaki zapytania.[/b]
Ostatnio edytowano 20.10.2005, 15:04:24 przez dzolo, łącznie edytowano 1 raz
dzolo
Posty: 43
Dołączył(a): 28.11.2003

Post 20.10.2005, 00:46:42

@dzolo - OMG - ten wywód to ja syzyfowa praca :D

Czytając kolejny post z problemem przerzucania bazy mysql ze starszych wersji na wersje 4.1+ postanowiłem rozszerzyć funkcję, którą podałem tutaj o obsługę kodowania i sytemu porównań dla MySQL 4.1+
Kod: Zaznacz cały
<?php
/**
 * Funkcja wczytuje plik sql do bazy danych
 *
 * @author FanFataL
 * @param string Nazwa pliku z zrzutem bazy danych
 * @param resource Uchwyt do połączenia z bazą danych
 * @param [string] Kodowanie - tylko dla MySQL wersji 4.1 i wyższej (np. latin2)
 * @return void
 */
function mysqlPutFile($url, $conn_id, $charset=false) {
   if(!file_exists($url)) die('Brak pliku');
   if($charset) {
      // Ustawienie kodowania dla połączenia
      $query = 'SET NAMES '.$charset;
      mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      
      // Ustawienie kodowania i systemu porównań dla bazy danych
      $query = 'SELECT DATABASE()';
      $result = mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      $row = mysql_fetch_row($result);
      $query = 'ALTER DATABASE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
      mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      
      // Ustawienie kodowania i systemu porównań dla istniejących tabel
      $query = 'SHOW TABLES';
      $result = mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      while($row = mysql_fetch_row($result)) {
         $query = 'ALTER TABLE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
         mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      }
   }
   // Wczytanie pliku
   $file = file($url);
   $query = '';
   $is_create = false;
   foreach($file as $line) {
      $tmp = trim($line);
      if($tmp!='' && substr($tmp, 0, 2)!='--' && substr($tmp, 0, 1)!='#') {
         $query.= $line;
         // Sprawdzenie czy nie jest tworzona tabela
         if($charset && preg_match('/CREATE\s+TABLE\s+(IF\s+NOT\s+EXISTS\s+)?(`)?(.*)(\\2)/i', $line, $matched)) {
            $is_create = $matched[3]; // nazwa tabeli
         }
         if(preg_match('/;\s*$/', $line)) {
            $result = mysql_query($query, $conn_id) or die(mysql_error($conn_id));
            if($is_create) { // Jak jest tworzona to zmieniamy kodowanie i system porównań
               $query = 'ALTER TABLE `'.$is_create.'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
               mysql_query($query, $conn_id) or die(mysql_error($conn_id).$query);
               $is_create = false;
            }
            $query = '';
         }
      }
   }
}
?>

Miłego używania :D
Wszelkie uwagi mile widziane :)

:ballpl: Pozdrawiam
...
:balloff: Geolokalizacja IP :balloff:

The people who are trying to make this world worse are not taking a day off. How can I? - Light up the darkness
Avatar użytkownikaFanFataL
Artur Grzybowski

The truth is out there

Posty: 2298
Dołączył(a): 05.04.2005
Lokalizacja: Kraków / Bydgoszcz

Post 20.10.2005, 15:03:05

FanFataL napisał(a):@dzolo - OMG - ten wywód to ja syzyfowa praca :D

...

dlaczego? zajmuje to niecałe 5 minut a efekt murowany!
dzolo
Posty: 43
Dołączył(a): 28.11.2003

Post 19.11.2005, 22:53:50

FanFatal napisał(a):Wszelkie uwagi mile widziane :)

Twoja funkcja jest świetna, ale ja bym jeszcze do niej dorzucił automatyczne wykrywanie, czy użytkownik ma wersję MySQL'a >= od 4.1
Kod: Zaznacz cały
<?php
function collateAvailable()
{
   if(function_exists('mysql_get_client_info'))
   {
      $mysqlClient=mysql_get_client_info();
      $mysqlClient=substr($mysqlClient, 0, 3);
      if($mysqlClient >= 4.1)
         return true;
      else
         return false;
   }
      else
      return false;   
}
?>


co Ty na to?
Avatar użytkownikaomeck
Posty: 441
Dołączył(a): 03.09.2004
Lokalizacja: Zamość / Lublin

Post 20.11.2005, 09:59:28

omeck napisał(a):Twoja funkcja jest świetna
Etam - nie do końca ;/
Znalazłem kilka bugów:
1. Użyłem file - dla większych plików skrypt zdycha
2. Znajdywanie końca zapytania ('/;\s*$/') nie jest do końca poprawne
3. Sprawdzanie czy nie jest tworzona tabela ('/CREATE\s+TABLE\s+(IF\s+NOT\s+EXISTS\s+)?(`)?(.*)(\\2)/i') też jest ograniczone
4. Nie było automatycznego sprawdzania wersji MySQLa

Oczywiście naniosłem odpowiednie poprawki i wyszło takie cuś (aż się prosi ubrać to w objekt ale ... czas ... a razcej jego brak):
Kod: Zaznacz cały
<?php
/**
* Funkcja wczytuje plik sql do bazy danych
*
* @author FanFataL
* @param string Nazwa pliku z zrzutem bazy danych
* @param resource Uchwyt do połączenia z bazą danych
* @param [string] Kodowanie - tylko dla MySQL wersji 4.1 i wyższej (np. latin2)
* @return mixed
*/
function mysqlPutFile($url, $conn_id, $charset='latin2') {
   // Sprawdzeine czy plik istnieje
   if (!file_exists($url)) die('Brak pliku');

   // Sprawdzenie czy wersja bazy danych jest 4.1+ (thx to omeck)
   $set_charset = false;
   if (function_exists('mysql_get_client_info')) {
        if (preg_match('/^(\d+\.\d+)/', mysql_get_server_info($conn_id), $matched)) {
         $v = (float)$matched[1];
         if ($v>=4.1)
               $set_charset = true;
        }
    }

   if ($set_charset && $charset) {
      // Ustawienie kodowania dla połączenia
      $query = 'SET NAMES '.$charset;
      @mysql_query($query, $conn_id) or die(mysql_error($conn_id));

      // Ustawienie kodowania i systemu porównań dla bazy danych
      $query = 'SELECT DATABASE()';
      $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      $row = mysql_fetch_row($result);
      $query = 'ALTER DATABASE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
      @mysql_query($query, $conn_id) or die(mysql_error($conn_id));

      // Ustawienie kodowania i systemu porównań dla istniejących tabel
      $query = 'SHOW TABLES';
      $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      while ($row = mysql_fetch_row($result)) {
         $query = 'ALTER TABLE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
         @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
      }
   }

   // Wczytanie pliku
   if(!$file = @fopen($url, 'r')) die('Nie udało się odczytać pliku');
   $query = '';
   $is_create = false;

   while (!feof($file)) {
      $line = fgets($file);
      $tmp = trim($line);
      // Pominięcie komentarzy
      if ($tmp!='' && substr($tmp, 0, 2)!='--' && substr($tmp, 0, 1)!='#') {
         // Sprawdzenie czy nie jest tworzona tabela
         if ($set_charset && $charset && !$is_create && preg_match('/^CREATE\s+TABLE\s+(IF\s+NOT\s+EXISTS\s+)?(`)?([\w\d\_]+)(\\2)?/im', trim($query), $matched)) {
            $is_create = $matched[3]; // nazwa tabeli
         }
         // Sprawdzenie czy koniec zapytania
         $end_pattern = '/;\s*((\#|(\-\-)).*?)?$/';
         if (preg_match($end_pattern, $line)) {
            $line = preg_replace($end_pattern, '', $line);
            $query .= $line;
            $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
            if($is_create) { // Jak jest tworzona to zmieniamy kodowanie i system porównań
               $query = 'ALTER TABLE `'.$is_create.'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
               @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
               $is_create = false;
            }
            $query = '';
         }
         else {
            $query .= $line;
         }
      }
   }
   fclose($file);
}

// Przykład użycia
$con = mysql_connect('localhost','user','*******');
mysql_select_db('test');

mysqlPutFile('./kaalog/plik.sql', $con, 'latin2');
?>
Ponownie ... Wszelkie uwagi mile widziane :)

:ballpl: Pozdrawiam
...
:balloff: Geolokalizacja IP :balloff:

The people who are trying to make this world worse are not taking a day off. How can I? - Light up the darkness
Avatar użytkownikaFanFataL
Artur Grzybowski

The truth is out there

Posty: 2298
Dołączył(a): 05.04.2005
Lokalizacja: Kraków / Bydgoszcz

Post 20.11.2005, 14:05:21

Funkcja może być np. użyta w instalatorach skryptów, użytkownik wpisuje dane serwera MySQL i jeżeli da się nawiązać połączenie na podtawie wysłanych danych(nazwy hostu,usera,hasła) wtedy można by było odpalić Twoją funkcję ;)
Można by było dodać jeszcze możliwość ustalenia prefix'u dla tabel... np. w pliku sql nazwe tabeli poprzedałaby jakaś stała.. powiedzmy @PREFIX@...
w poprzedniej wersji:
Kod: Zaznacz cały
<?php $query.= str_replace('@PREFIX@',$prefix,$line); ?>

taki mały bajer, ale może się przydać ;)
Avatar użytkownikaomeck
Posty: 441
Dołączył(a): 03.09.2004
Lokalizacja: Zamość / Lublin

Post 20.11.2005, 22:49:22

hmmm dodalem to do pliku potem dalem
$baza_logowanie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
mysql_select_db($mysql_baza) ;

mysql_select_db('test');
mysqlPutFile('./plik.sql', $baza_logowanie, 'latin2');'

plik plik.sql utworzylem...

ale nic to nie daje:|
jak to zrobic dalej mi sie ć itd ? zapisuje
vaderg
vaderek

Posty: 133
Dołączył(a): 29.01.2005

Post 20.11.2005, 22:57:23

po nawiązaniu połaczenia spróbuj:
Kod: Zaznacz cały
<?php mysql_query('SET NAMES latin2'); ?>
Avatar użytkownikaomeck
Posty: 441
Dołączył(a): 03.09.2004
Lokalizacja: Zamość / Lublin

Post 20.11.2005, 23:22:03

Plik musisz mieć także w odpowidnim kodowaniu :)

:ballpl: Pozdrawiam
...
:balloff: Geolokalizacja IP :balloff:

The people who are trying to make this world worse are not taking a day off. How can I? - Light up the darkness
Avatar użytkownikaFanFataL
Artur Grzybowski

The truth is out there

Posty: 2298
Dołączył(a): 05.04.2005
Lokalizacja: Kraków / Bydgoszcz

Post 21.11.2005, 00:19:55

hmm to co mam w tym pliku plik.sql wpisac?
vaderg
vaderek

Posty: 133
Dołączył(a): 29.01.2005

Post 21.11.2005, 15:18:46

hmm to co mam w tym pliku plik.sql wpisac?

SET NAMES latin2;
Avatar użytkownikaMavestinus
Paweł Nowak

Out of time
Out of time

Posty: 2384
Dołączył(a): 09.01.2003
Lokalizacja: Katowice

Post 21.11.2005, 18:50:56

w pliku plik.sql wpisalem :
Kod: Zaznacz cały
<?php mysql_query('SET NAMES latin2'); ?>


a na poczatku strony dalem ten kod
Kod: Zaznacz cały
/**
* Funkcja wczytuje plik sql do bazy danych
*
* @author FanFataL
* @param string Nazwa pliku z zrzutem bazy danych
* @param resource Uchwyt do połączenia z bazą danych
* @param [string] Kodowanie - tylko dla MySQL wersji 4.1 i wyższej (np. latin2)
* @return mixed
*/
function mysqlPutFile($url, $conn_id, $charset='latin2') {
    // Sprawdzeine czy plik istnieje
    if (!file_exists($url)) die('Brak pliku');

    // Sprawdzenie czy wersja bazy danych jest 4.1+ (thx to omeck)
    $set_charset = false;
    if (function_exists('mysql_get_client_info')) {
        if (preg_match('/^(\d+\.\d+)/', mysql_get_server_info($conn_id), $matched)) {
            $v = (float)$matched[1];
            if ($v>=4.1)
                $set_charset = true;
        }
    }

    if ($set_charset && $charset) {
        // Ustawienie kodowania dla połączenia
        $query = 'SET NAMES '.$charset;
        @mysql_query($query, $conn_id) or die(mysql_error($conn_id));

        // Ustawienie kodowania i systemu porównań dla bazy danych
        $query = 'SELECT DATABASE()';
        $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
        $row = mysql_fetch_row($result);
        $query = 'ALTER DATABASE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
        @mysql_query($query, $conn_id) or die(mysql_error($conn_id));

        // Ustawienie kodowania i systemu porównań dla istniejących tabel
        $query = 'SHOW TABLES';
        $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
        while ($row = mysql_fetch_row($result)) {
            $query = 'ALTER TABLE `'.$row[0].'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
            @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
        }
    }

    // Wczytanie pliku
    if(!$file = @fopen($url, 'r')) die('Nie udało się odczytać pliku');
    $query = '';
    $is_create = false;

    while (!feof($file)) {
        $line = fgets($file);
        $tmp = trim($line);
        // Pominięcie komentarzy
        if ($tmp!='' && substr($tmp, 0, 2)!='--' && substr($tmp, 0, 1)!='#') {
            // Sprawdzenie czy nie jest tworzona tabela
            if ($set_charset && $charset && !$is_create && preg_match('/^CREATE\s+TABLE\s+(IF\s+NOT\s+EXISTS\s+)?(`)?([\w\d\_]+)(\\2)?/im', trim($query), $matched)) {
                $is_create = $matched[3]; // nazwa tabeli
            }
            // Sprawdzenie czy koniec zapytania
            $end_pattern = '/;\s*((\#|(\-\-)).*?)?$/';
            if (preg_match($end_pattern, $line)) {
                $line = preg_replace($end_pattern, '', $line);
                $query .= $line;
                $result = @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
                if($is_create) { // Jak jest tworzona to zmieniamy kodowanie i system porównań
                    $query = 'ALTER TABLE `'.$is_create.'` DEFAULT CHARACTER SET '.$charset.' COLLATE '.$charset.'_general_ci';
                    @mysql_query($query, $conn_id) or die(mysql_error($conn_id));
                    $is_create = false;
                }
                $query = '';
            }
            else {
                $query .= $line;
            }
        }
    }
    fclose($file);
}




ale nie wiem gdzie dac
dalem tak:
Kod: Zaznacz cały
$baza_logowanie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
   mysql_select_db($mysql_baza) ;
 
mysql_select_db('test');

mysqlPutFile('plik.sql', $baza_logowanie, 'latin2');


ale z baza lacze sie tylko raz
wlasnie jak tam wyzej pokazalem na poczatku skryptu(ogolnie strony) przez [php]$baza_logowanie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo);
i co teraz zrobic aby sie wyswietlaly polskie znaki:(?
vaderg
vaderek

Posty: 133
Dołączył(a): 29.01.2005

Post 21.11.2005, 20:11:04

chyba nie rozumiesz idei tej funkcji...
powiedzmy, że chcesz zainstalować wykonany przez siebie skrypt na innym serwerze - przesyłąsz pliki, ale trzeba jeszcze wgrać dane do bazy.
Zamiast bawić się phpMyAdminem wrzucasz wcześniej zrobiony dump bazy danych zapisujesz w pliku(u Ciebie chyba plik.sql) i odpalasz funkcję FanFatala. Jak już wszystko zrobisz, to zaraz po połączeniu z bazą dawaj SET NAMES latin2
Avatar użytkownikaomeck
Posty: 441
Dołączył(a): 03.09.2004
Lokalizacja: Zamość / Lublin

Post 22.11.2005, 18:23:26

aha

a jak zrobic aby polskie znaki wyswietlalo lub zapisywalo do bazy:|
vaderg
vaderek

Posty: 133
Dołączył(a): 29.01.2005

Post 23.11.2005, 17:13:11

thx FanFatal
działa ale...
podczas wgrywania bazy phpbb wywala mi byki z tabeli post_text typu "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''[quote:1740000f83=\"borek\"]Jest ok Tylko ci Moder..."
a skrypcik dla pliczków baz większych od 2MB to super sprawa (jesli sie nie uzywa prg zew.)
hryst
Posty: 2
Dołączył(a): 07.10.2005

Post 27.11.2005, 14:17:31

Ja jak wpisuje do bazy nowy rekord w phpMyAdmin to pl litery zmieniaja sie na "?". Więc jedynym wyjściem z tej sytuacji jest chba zrobienie sobie formularza w html i zapisywanie danych do bazy za jego pomoca.
Mam nadzieje jednak ze nowa wersja phpMyAdmin bedzie sobie dobrze radzila z MySQL 4.1 !!!! Te problemy "polskoliterowe" mnie zalamuja ...
Wcześniej spokojnie sobie wszystko zapisywalam a teraz jak zmienili mi MySQL na 4.1 to dupa...
Avatar użytkownikaNautilus
Posty: 139
Dołączył(a): 13.11.2005

Post 11.12.2005, 16:31:50

Elo, nie mogę sobie poradzić z tymi polskimi znakami, czytałem posta dzolo i próbowałem tak zrobić lecz mi nie wyszło, jestem jeszcze laikiem w sprawie forum i nie wiem zabardzo jak ruszyć z tym problemem. Za pomoc z tym oferuje reklamkę na swojej stronce... Proszę a raczej błagam o pomoc. Mój gg to: 2411365 (przeważnie jestem niewidoczny) Pozdrawiam ;)
"Nic nie dzieje się bez przyczyny..."
Avatar użytkownikamaciejewski
Michał Maciejewski

Posty: 8
Dołączył(a): 06.12.2005
Lokalizacja: szelejewo

Post 04.04.2006, 22:38:13

Miałem ten sam problem i napisałem prosty programik do konwersji z
ISO-8859-2 na UTF8.
Do pobrania tutaj
Mam nadzieje że komuś pomoże.
pozdr. Tomek
ytomek
Posty: 1
Dołączył(a): 04.04.2006

Post 08.04.2006, 09:47:29

Chciałem zmodernizować funkcję FanFatal'a i dodać prefix
Kod: Zaznacz cały
<?php
if(!empty($_POST["dbprefix"])) {
  $arrStr1 = array("IF EXISTS `", "CREATE TABLE `", "INSERT INTO `", "ALTER TABLE `");
  $arrStr2 = array("IF EXISTS `".$_POST["dbprefix"]."", "CREATE TABLE `".$_POST["dbprefix"]."", "INSERT INTO `".$_POST["dbprefix"]."", "ALTER TABLE `".$_POST["dbprefix"]."");
}

// i przy zapytaniu
if(!empty($_POST["dbprefix"])) $query = str_replace($arrStr1, $arrStr2, $query);
?>

ale niestety wywala błąd
Kod: Zaznacz cały
Database error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TABLE IF EXISTS `pre_users`' at line 1


jeśli ktoś wie co jest nie tak to proszę o pomoc
Sposobów osiągania magicznych stanów świadomości jest wiele i osiągnięte dzięki nim stany różnią się jakościowo, co nie oznacza, że są lepsze lub gorsze, ale że są bardziej lub mniej przydatne do określonych działań. Więdz zastanów się zanim coś zrobisz.
Byku1407
Paweł

Posty: 378
Dołączył(a): 11.03.2004
Lokalizacja: Żory

Następna strona

Powrót do PHP i bazy danych


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 15 gości

Subskrypcja

Mamy 53826 zarejestrowanych użytkowników.
Najnowszy użytkownik: purefitketo


Nasi użytkownicy napisali:

  • 940367 wiadomości
  • w 249431 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)