Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/MYSQL] Problem z mysql_real_escape_string()
Bojakki
post 17.04.2006, 20:25:06
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
Master Miko
post 17.04.2006, 21:38:00
Post #2





Grupa: Zarejestrowani
Postów: 530
Pomógł: 0
Dołączył: 15.01.2005
Skąd: Warszawa

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


Poczytaj...

http://php.net.pl/manual/pl/function.mysql...cape-string.php

i alternatywa:

http://php.net.pl/manual/pl/function.addslashes.php
no i polecam:
http://php.net.pl/manual/pl/function.htmlspecialchars.php


--------------------
Go to the top of the page
+Quote Post
Bojakki
post 17.04.2006, 22:58:41
Post #3





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

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


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.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:03