Когда я нажимаю ссылку «Имя» ниже, это не сортировка, и я не знаю, почему.Столбец PDO Сортировка не сортируется
if(isset($_GET['field'])) {
$orderby = $_GET['field'];
$orderby2 = $_GET['sort'];
}else{
$orderby = "id";
$orderby2 = "ASC";
} if($_GET['sort'] == "ASC") {
$sortby = "DESC";
}else{
$sortby = "ASC";
}
Ссылка рода:
<th style="text-align: center;padding:10px;white-space: nowrap;" width="auto" class="rounded-company" scope="col"><a href="dash.php?field=user_name&sort=<?php echo $sortby;?>">Username</a></th>
if(isset($_REQUEST['txtKey'])) {
$con = "%".$_REQUEST['txtKey']."%";
}
$result = $db->dbh->prepare("SELECT * FROM ruj_users WHERE user_name like :textKey ORDER BY :order :order2");
$result->bindValue(":textKey", isset($con) ? $con : null, PDO::PARAM_STR);
$result->bindParam(":order", $orderby, PDO::PARAM_STR);
$result->bindParam(":order2", $orderby2, PDO::PARAM_STR);
$result->execute();
$result = $result->fetchAll(PDO::FETCH_ASSOC);
$result2 = $db->dbh->prepare("SELECT * FROM ruj_users WHERE user_name like :textKey ORDER BY :order :order2");
$result->bindValue(":textKey", isset($con) ? $con : null, PDO::PARAM_STR);
$result->bindParam(":order", $orderby, PDO::PARAM_STR);
$result->bindParam(":order2", $orderby2, PDO::PARAM_STR);
$result2->execute();
$resultCount = $result2->rowCount();
if(isset($_REQUEST['txtKey']))$str='&field='.$_GET['field'].'&sort='.$_GET['sort']."&txtKey=".$_REQUEST['txtKey'];
Пожалуйста, дайте мне знать, что я делаю или если я что-то отсутствует.
имена столбцов (в том числе в ORDER BY пунктов) и имена таблиц не могут быть связаны –
@MarkBaker вы можете привести пример, пожалуйста, –
Вы можете только использовать '? 'Подставить значения, а не имена столбцов. Для этого вам нужно использовать интерполяцию строк или конкатенацию. – Barmar