Я пытаюсь создать простую функцию поиска, которая будет выбирать и показывать все из столбца.
if(isset($_GET["search"]) && ($_POST["filter"] != "all")) {
$filter = $_POST["filter"];
$sql = "SELECT :table FROM johnson LIMIT 0,30";
$stmt = $dbh->prepare($sql);
$stmt->bindValue(":table", $filter, PDO::PARAM_STR);
$stmt->execute();
}
Этот фрагмент кода работает так, как должен.
Затем я пытаюсь отобразить данные:
<?php } else if($filter != "all") { ?>
<tr>
<td><?php echo $row["$filter"]; ?></td>
</tr>
<?php
}
$filter
соответствует правильному столбцу базы данных, например, если $filter == 'email'
, это должно быть SELECT email FROM johnson
.
Результат?После запроса к базе данных она просто зацикливает имя столбца, например:
email
email
email
email
А не foo@bar.com
и т. Д. Что не так?Использование PDO::FETCH_ASSOC
.
Работает даже в жестком коде, без использования :table
.