[]

php değişken ile sql sorgusu bir soru

$listele = "SELECT * FROM mesaj WHERE alan_kuladi = " .$kuladi;

gibi bir kodum var bir listeleme fonksiyonunun içinde. birincisi bu variable kullanımı yanlış mı? olmaması lazım ama olmuyor. buraya değişken yerine örneğin

$listele = "SELECT * FROM mesaj WHERE alan_kuladi = 'mahmut'";

yazınca mahmut'un aldığı mesajları listeliyor. fakat ne fonksiyonun içinde örneğin;

$temp = 'mahmut';
$listele = "SELECT * FROM mesaj WHERE alan_kuladi = " .$temp;

yazınca ne de fonksiyondan $kuladi'yi argüman olarak aldığımda çalışmıyor ve şöyle bir mesaj veriyor;

Unknown column 'mahmut' in 'where clause'

tamam, anladık, column'u algılayamıyor fakat nasıl aşacaığmı çözebilmiş değilim. bir yardım eden olursa süper olur.

 
tirnaklari yanlis kullaniyorsun.
$listele = "SELECT * FROM mesaj WHERE alan_kuladi = " .$temp;

sonucu sudur SELECT * FROM mesaj WHERE alan_kuladi = mahmut < burada mahmut tirnak icinde degil. soyle yapsan calisir ama

$listele = "SELECT * FROM mesaj WHERE alan_kuladi = '" .$temp."'";

ayrica bu kodla veritabanina sizarlar. detayli bilgi icin php sql injection diye arat ama ben kisaca korumayi anlatayim, butun string verileri escape ediyorsun. ornegin

$temp=mysql_real_escape_string('mahmut');

ya da GET ile gelen alanda direk soyle;

$listele = "SELECT * FROM mesaj WHERE alan_kuladi = '"+ mysql_real_escape_string($_GET['hede'])+"'";
  • erich  (05.07.10 23:32:18) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.