Telefon rehberi uygulaması geliştirdim @Erkan Çevik 'in de katkılarıyla. Ancak bu telefon rehberinde SQL Injection açığı çıkmasından şüpheliyim
Postun sonunda bırakmış olduğum kod parçacığında "query" metodu ile bağlandım tablolara, SQL açığını önlemek için "prepare" metoduyla bağlanmam gerekiyor! Bu şekilde bağlanınca da "PDO::FETCH_ASSOC" boşta kalıyor, yazınca da 1. id gidiyor! Bunu düzgün bir şekilde nasıl "prepare" metodu ile kullanılabilir hale getiririm veya "PDO::FETCH_ASSOC" burada çok önemli mi?
Kodlar
PHP:
<?php
$query = $db->query("SELECT * FROM iller ORDER BY iller_baslik ASC", PDO::FETCH_ASSOC);
if ( $query->rowCount() ):
foreach ($query as $row):
?>
<option value="<?php echo $row['iller_id']; ?>">
<?php
echo $row["iller_baslik"];
endforeach;
endif;
?>
Bu şekilde kullanmana zaten gerek yok. Bu sorgunda zaten dışarıdan gelen bir data yok. Diğer yandan ihtiyaç halinde ence "prepare" ile sorgunu oluştur, "execute" dan gelen dataları işlet ve sonra eğer ekrana sonuç bastıracaksan "ferch_assoc" kullanabilirsin. İster single olarak istersen döngü içerisinde işletebilirsin bunu. Mini bir örnek.