помогите с запросом

AntonioS

Новичок
Необходимо сделать выборку из базы по нескольким параметрам.
PHP только начал изучать, возможно пере/недомудрил.
PHP:
$where = '';
if (!empty($_POST['speak']))
    $where = $where . " AND speak = " . $_POST['speak'];
if (!empty($_POST['learning']))
    $where = $where . " AND learning = " . $_POST['learning'];
if (!empty($_POST['country']))
    $where = $where . " AND country = " . $_POST['country'];

$query = "SELECT name FROM users WHERE".$where;
Запрос получается примерно таким:

PHP:
SELECT name FROM users WHERE
AND speak = German
AND learning = English
AND country = American Samoa
Как убрать первое AND и добавить ' ' в German, English, American Samoa ?
Или существует другой, более грамотный способ для данной задачи?
 

jrip

Новичок
У меня написано с пробелом перед 1 :)
т.е. это условие которое всегда выполняется, оно для того чтобы не напрягаться с "лишними" AND

PHP:
$where = ' 1 ';
if (!empty($_POST['speak']))
    $where = $where . " AND speak = '" . $_POST['speak']. "'";
if (!empty($_POST['learning']))
    $where = $where . " AND learning = '" . $_POST['learning']. "'";
if (!empty($_POST['country']))
    $where = $where . " AND country = '" . $_POST['country']. "'";

$query = "SELECT name FROM users WHERE".$where;
 
Сверху