Как с помощью условий выбирать определенные значения из базы?

Рейтинг: 0Ответов: 0Опубликовано: 19.09.2014

Приветствую!
Подскажите, кто знает, как с помощью условий выбирать определенные значения из базы?
Имею ввиду что-то вроде этого:


$sth = $dbh->prepare("select * from ".DB." where `opt`='1' //IF(!!$g) { and `g`=':g' } //IF(!!$year) { and `year` in (:year) } //IF(!!$id) { and `id` in (:id) } ");

Или как-то так, но это не работает:

$g= 'Alex';
$year= '2013,2014';
$id= '1,2,3';
$sth = $dbh->prepare("select * from ".DB." where `opt`='1' and `g`=':g' and `year` in (:year) and `id` in (:id)");
if(!!$g)
{
$stmt->bindParam(':g', $g);
}
if(!!$year)
{
$stmt->bindParam(':year', $year);
}
if(!!$id)
{
$stmt->bindParam(':id', $id);
}
$stmt->execute();

Обновление

Пока что нашел не совсем правильное, но решение:

if(!!$g)
{
$q_g = " and `g` = $g";
}
if(!!$year)
{
$q_y = " and `year` in ($year)";
}
if(!!$id)
{
$q_q = " and `id` in ($id)";
}
$query = $q_g.$q_y.$q_q;

$sth = $dbh->prepare("select * from ".DB." where `opt`='1'$query");

Ответы

Ответов пока нет.