`ORDER BY` po zmiennej z `bind_param`

0
$id='3';
if ($stmt = $mysqli->prepare("DELETE FROM $TABLE WHERE id = ?"))
{
														
														$stmt->bind_param('i', $id);

														$stmt->execute();
														$stmt->close();
														$mysqli->close();
														
												```

Jak to bedzie z ORDER BY jesli nie przekazuje zadnej zmiennej tylko chce po prostu posortowac wzgledem jednej zmiennej juz zawartej w bazie.
Wyswietla mi blad:

```php
$stmt = $mysqli->prepare("SELECT id, content, time FROM $table ORDER BY = ? DESC");
$stmt->bind_param("s", $time);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows === 0) exit('No rows');
$stmt->bind_result($idRow, $contentRow, $timeRow); 
while($stmt->fetch()) {
  print $contentRow;
}
var_export($ids);
$stmt->close();

Linia z:

$stmt->bind_param("s", $time);
0

Dlaczego order by =? (skąd to =?)

Inną sprawą jest to, że nie możesz bindować nazw tabel oraz kolumn - bindować możesz jedynie literały.

0

W takiej sytuacji możesz jedynie wrzucić nazwę kolumny do środka ciągu znaków - identycznie jak masz z nazwą tabeli.

1

Na temat odpowiadaj w postach.

mozesz podac przyklad jak to ma wygladac ?

SELECT id, content, time FROM $table ORDER BY $column DESC

1

Na temat odpowiadaj w postach.

czym jest column

Czymkolwiek, co chciałeś mieć podstawione w miejsce = ? w Twoim oryginalnym zapytaniu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1