» »

[php] mysql_escape_string

[php] mysql_escape_string

jure1825 ::

Torej imam en problem z podatkom ,ki ga dobim preko POST-a in bi ga rad dal v bazo.

$opis = mysql_escape_string($_POST['opis']);

$query = "UPDATE dogodki SET opis='$opis' WHERE id=$id LIMIT 1;";
$db_mysql = new db_mysql;
$db_mysql->connect();
$odg = $db_mysql->query($query);

Problem je, če napišem v opis npr 'Angelina Jolie's boobs' mi bo mysql_escape_sring spremnil ' v \'. OK, to sem hotel, ampak ko gre to v bazo pride v bazo \' namesto samo '

Zakaj oz. kako to popravim?

[MYTiX] ::

Uporabi stripslashes ob branju iz baze. Sicer pa raje uporabljaj mysql_real_escape_string.
podpis

Alpheus ::

Mislim, da je problem v tem, da maš vkloplen magic_quotes_gpc, ki povzroči, da se vsi apostrofi, narekovaji, backslashi in NULL vrednosti escapajo iz POST, GET in COOKIE. Potem pa še tvoja scripta vse še enkrat escapa celo, torej če imaš Angelina Jolie's boobs ti najprej avtomatično escapa na Angelina Jolie\'s boobs pol pa še tvoja scripta na Angelina Jolie\\\'s boobs, kar gre v bazo kot Angelina Jolie\'s boobs (prej je bil escapan tako backslash (prva dva) kot '(tretji + ').

Vrednost magic_quotes_gpc lahk preveriš z get_magic_quotes_gpc().

Drugače pa je tudi v manualu lepa skripta...

function quote_smart($value)
{
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Quote if not a number or a numeric string
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}

... ki ti escapa enkrat ne glede na magic_quotes_gpc.
VI VERI VENIVERSUM VIVUS VICI.

jure1825 ::

Hvala! :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[php] Knjiga gostov

Oddelek: Izdelava spletišč
293154 (2357) darix
»

sql injection [PHP + mysql]

Oddelek: Informacijska varnost
111853 (1578) Lion29
»

Težave z vpisovanje v mysql bazo z php

Oddelek: Izdelava spletišč
51035 (911) Atos
»

[php, mysql] sortiranje izpisa iz baze

Oddelek: Izdelava spletišč
262656 (2175) Binji
»

PHP: addslashes/stripslashes v formi

Oddelek: Izdelava spletišč
71134 (1071) OwcA

Več podobnih tem