Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z zapytaniem SQL
Forum PHP.pl > Forum > PHP
mskiba
Witam, mam następuj±cy problem:

  1. $field = $_POST['field']; <- zmienna z formularza
  2. $field_name = str_field($field); <- definicja funkcji poniżej
  3. $field_name_old = $_POST['field_name_old']; <- zmienna z formularza


  1. function str_field($text)
  2. {
  3. $polskie = array('ˇ','±','Ć','ć','Ę','ę','Ł','ł','Ń','ń','Ó','ó','¦','¶','¬','Ľ','Ż','ż',' ');
  4. $normalne = array('A','a','C','c','E','e','L','l','N','n','O','o','S','s','Z','z','Z','z','_');
  5. $wynik = strtolower(str_replace($polskie, $normalne, $text));
  6. echo $wynik;
  7. }


i problem pojawia sie w zapytaniu:

  1. mysql_query("ALTER TABLE company CHANGE $field_name_old $field_name CHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL");


  1. Error: (1064) You have an error in your SQL syntax;
  2. check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL' at line 1



Jezeli zmiennych nie przepuszczę przez funkcje str_field(); to wszystko działa, problem pojawia się gdy używam tej funkcji sad.gif

Z góry dziękuję za pomoc.
Wazniak96
W funkcji nie zwracamy danych poprzez echo, a przez return. wink.gif
Czyli:
  1. function str_field($text)
  2. {
  3. $polskie = array('ˇ','±','Ć','ć','Ę','ę','Ł','ł','Ń','ń','Ó','ó','¦','¶','¬','Ľ','Ż','ż',' ');
  4. $normalne = array('A','a','C','c','E','e','L','l','N','n','O','o','S','s','Z','z','Z','z','_');
  5. $wynik = strtolower(str_replace($polskie, $normalne, $text));
  6. return $wynik;
  7. }
mskiba
Bardzo dziękuję wink.gif
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.