MySQL deyimi için dize kaçan

0 Cevap php

Ben aşağıdaki select deyimi vardır:

$res = mysql_query("select * from Table where Name='{$_REQUEST['name']}'");

Sorgunun bu tür SQL enjeksiyon eğilimli olduğundan Ancak, ben seçimi için daha güvenli bir şekilde kullanıyorum:

$escaped_name=mysql_real_escape_string($_REQUEST['name']);
$res = mysql_query("select * from Table where Name='{$escaped_name}'");

Tüm ben seçimi ile çalıştırmayı deneyin kadar çalışıyor bir $_REQUEST['name'] bu dizeyi Joel's. Bu durumda seçim çalışmıyor içeriyor. Ayıklama ve ekrana $escaped_name içeriğini baskı sonra, şu var:

Joel\\\'s

Bunun sebebi nedir? Dizesi, otomatik kaçtı, ve sonra tekrar kaçtı gibi görünüyor.

0 Cevap