Необходимо сделать выборку из базы по нескольким параметрам. 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 learning = German AND learning = English AND country = American Samoa Как убрать первое AND и добавить ' ' в German, English, American Samoa ? Или существует другой, более грамотный способ для данной задачи?
таких способов много, но перечислять их все нет смысла - сам потом со временем дойдёшь. в твоём же случае самым простым вариантом будет PHP: <?php $where = '1=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; однако прямая подача элементов в запрос нежелательна. лучше их предварительно экранировать спомощью escape-функций.