Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/MYSQL] Problem z mysql_real_escape_string()
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:49