Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/MYSQL] Problem z mysql_real_escape_string()
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam zapytanie wyyslajace do bazy dane:

  1. <?php
  2.  
  3. if(isset($_POST['submit']) && (!empty($_POST['name1'])){
  4.  
  5. $name1 = mysql_real_escape_string($_REQUEST['name1']);
  6. $myquery=mysql_query("INSERT INTO building (name1) VALUES ('{$name1}')");
  7.  
  8. $id=mysql_insert_id($mysql);
  9. $success=($myquery) ? 1 : -1;
  10. }elseif(isset($_POST['submit'])){
  11. $success=-1;
  12. }
  13.  
  14. if($success==1)
  15. echo'Pozycja zostala zapisana do bazy danych (#{'.$id.'})'.$name1;
  16.  
  17. elseif($success==-1)
  18. echo'Pozycja nie zostala zapisana do bazy danych';
  19.  
  20. echo'<form name="formularz" method="post">';
  21. echo '*Oficjalna:<br/><input type="text" name="name1"/>';
  22. echo 'input type="submit" name="submit"/>
  23. </form>';
  24.  
  25. ?>


Formularz jest oczywiscie wiekszy, ma wiecej pol itd, ale wycialem nieistotne czesci. Otoz funkcja mysql_real_escape_string() nie robi \ przy cudzyslowiach, a raczej robi, ale nie sa one wysylane do bazy. Wysylany jest wyraz bez "\". Nie mam pojecia dlaczego bo jak dodaje by po dodaniu zwrocilo mi wartosc $name1 to pisze normalnie, tzn. z "\", wiec nie wiem dlaczego do bazy jest wysylane co innego.
Bojakki
Tez nie dziala. Wszystko jest ok, gdy zmienilem plik na taki obslugiwany w php 4. Jak zmianiem na php5 to dziala tak jak pisalem wyzej. Problem w tym, ze w tym przypadku plik musi byc w php5 bo uzywam tam kilku funkcji, ktorych nie ma w wersjach wczesniejszych. Nie wiem co to moze byc i jaki moze byc tego powod.
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.