mysql_query nerede statment yardım

1 Cevap php

Ben GET yöntemi ile url değerleri alınıyor ve daha sonra kullanıyorum bir deyim daha sonra onları sadece eşleşen öğeleri göstermek için veritabanına karşı onları orada sorgulamak olduğunu belirlemek için eğer ben senin isteği ile bilinmeyen bir hata alıyorum. İşte benim kod

$province = $_GET['province'];
$city = $_GET['city'];

if(isset($province) && isset($city) ) {         
  $results3 = mysql_query("SELECT * 
                            FROM generalinfo 
                           WHERE province = $province 
                             AND city = $city  ") 
                       or die( "An unknown error occurred with your request");          
} else {             
  $results3 = mysql_query("SELECT * FROM generalinfo");  
} /*if statement ends*/

1 Cevap

Eğer tek-tırnak SQL dizeleri yuvarlak gerekir:

"SELECT * FROM generalinfo WHERE province='$province' AND city='$city'"

Bu şekilde sorgu oluşturarak bir SQL enjeksiyon vulnerabillity riski bırakabilir unutmayın. Bunun yerine, mysql_real_escape_string kullanmayı düşünün.

"SELECT * FROM generalinfo WHERE province='" .
mysql_real_escape_string($province) . "' AND city='" .
mysql_real_escape_string($city) . "'"