`ORDER BY` po zmiennej z `bind_param`

`ORDER BY` po zmiennej z `bind_param`
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 63
0
Kopiuj
$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:

Kopiuj
$stmt->bind_param("s", $time);
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
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.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

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

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Na temat odpowiadaj w postach.

mozesz podac przyklad jak to ma wygladac ?

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

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Na temat odpowiadaj w postach.

czym jest column

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.