Birçok isteğe bağlı arama terimleri ile parametreli sorgu

0 Cevap php

Ben birçok veri ve bu yüzden üzerinde adı, durum, tarih, ve gibi birçok alanları ile bir arama / filtre fonksiyonu ile bir web uygulaması var. Ben normal (non-arama) sorguları için bu gibi parametreli sorgular kullanarak edilmiştir:

$id = $_POST['itemID'];
$db = mysqli_connect($host, $username, $password, $database);
$sql_query = "SELECT * FROM tbl_data WHERE ID = ?";
$stmt_query = mysqli_prepare($db, $sql_query);
mysqli_stmt_bind_params($stmt_query, "i", $id);
mysqli_stmt_execute($stmt_query);

//and so on..

Nasıl birden, isteğe bağlı parametreler ile agains SQL enjeksiyon korumak istiyorsunuz? Veya set olabilir belki kadar 10 ayrı parametre olabilir.

Edit as the question seems unclear:

Benim örnek isteğe bağlı değil, tek bir parametre ile oldu. Ben bu sql enjeksiyon karşı korur biliyorum. Nasıl bir veya birkaç aynı anda ayarlanmış olabilir 10 parametreleri ile bu yapıyor hakkında gitmek istiyorsunuz? Örneğin Bu gibi bir sorgu:

SELECT * FROM tbl_data 
WHERE NAME = ? 
AND STATUS = ? 
AND DATE = ? 
AND PARAM4 = ? 
AND PARAM5 = ?

kullanıcı sadece adı ve tarihte aramak istediği yere. Nasıl bağlama mı istiyorsunuz? Bu arama terimlerinin 100 olası kombinasyonların her biri için kontrol etmek iyi bir fikir değil.

0 Cevap