Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_real_escape_string() czyści zmienne
Forum PHP.pl > Forum > Przedszkole
Jarod
W manualu jest napisane:

Cytat
Funkcja ta działa identycznie jak mysql_real_escape_string(), z tym wyjątkiem, że mysql_real_escape_string() pobiera identyfikator połączenia i wstawia znaki unikowe zgodnie z bieżącym zestawem znaków. mysql_escape_string() nie pobiera identyfikatora połączenia i nie bierze pod uwagę bieżącego zestawu znaków.


Jeśli na początku skryptu filtruje zmienną za pomocą mysql_escape_string($_POST['jakasZmienna']) to wszystko jest ok. Wstawia ukośniki przed odpowiednimi znakami.

Natmiast jeśli użyję mysql_real_escape_string($_POST['jakasZmienna']) to $_POST['jakasZmienna'] jest pusta :/

Wiecie o co chodzi?

EDIT: Uproszczony przykład:
  1. <?php
  2.  
  3. $login = mysql_real_escape_string($_POST['login']);
  4. echo 'LOGIN: '.$login;
  5.  
  6. ?>
  7. <form action="test.php" method="post">
  8. <div>Login:</div>
  9.  <div><input type="text" name="login" value="" size="15" maxlength="15" /></div>
  10. <div><input type="image" name="submit" src="img/dodaj.gif" /></div>
  11. </form>
  12. <?php
  13. ?>
raf_gc
A po co filtrować zmienne nie mające nic wspólnego z SQL funkcją mysql_real_escape_string()?
Nie lepiej użyć funkcji addslashes() ?
Jarod
Cytat(raf_gc @ 19.06.2006, 09:44 ) *
A po co filtrować zmienne nie mające nic wspólnego z SQL funkcją mysql_real_escape_string()?
Nie lepiej użyć funkcji addslashes() ?


Bo musiałbym dodawać stripslashes(). Pozatym te zmienne będą w zapytaniu SQL, dlatego używam ( a raczej chcę użyć) mysql_(real)_escape_string();
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.