Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » PDO prepare und ORDER BY    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
Kayleigh
Mitglied
Neuling


Dabei seit: 04.06.2021
Herkunft: keine Angabe
Posts: 2
     PDO prepare und ORDER BY Zitat | Bearbeiten

Hallo Freunde,

nun habe ich über Stunden gelesen, gegoogelt und probiert,- erfolglos...
Nun habe ich mich hier registriert, ich bin mir sicher dass mir hier jemand helfen kann.

Ich kriege es nicht hin eine SQL-Abfrage per PDO prepare zu sortieren.
Mein Code sieht so aus:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?php

                $kundencode
=$_SESSION['kdnr'];
                
$i=0;
                
$q $pdo->prepare("SELECT * FROM qi_buchungen WHERE kdnr= '" .$_SESSION["kdnr"]. "' ORDER BY id DESC");
                
$q->execute([$_SESSION['id']]);
                
$res $q->fetchAll();
                foreach (
$res as $row) {
                      
date_default_timezone_set("Europe/Berlin");
                    
$i++;
                    
?>

Mittlerweile weiß ich dass "ORDER BY" hier so nicht funktionieren kann.
Habe dann Dinge versucht wie dieses z.B.:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
<?php

                
                $i
=0;
                
$sql "SELECT * FROM qi_buchungen WHERE kdnr= :kundencode ORDER BY :order :direction";
                
$stmt $pdo->prepare($sql);

                
$kundencode=$_SESSION['kdnr'];
                
$order 'id';
                
$direction 'DESC';

                
$stmt->bindParam(':kundencode'$kundencode);
                
$stmt->bindParam(':order',   $order);
                
$stmt->bindParam(':direction',   $direction);
                
                
$stmt->execute([$_SESSION['id']]);
                
$res $stmt->fetchAll();
                foreach (
$res as $row) {
                      
date_default_timezone_set("Europe/Berlin");
                    
$i++;
                    
?>

Natürlich ohne Erfolg... Ich habe keine Ahnung wie der Syntax genau auszusehen hat, damit ich die Tabelle sortiert ausgeben kann.

Wer hilft?

Danke und Gruß,
Thomas


04.06.2021, 22:20 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6295
      Zitat | Bearbeiten

Schau mal hier:
https://www.php-einfach.de/mysql-tutorial/php-prepared-statements/#LIMIT_mit_Parametern


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



05.06.2021, 22:45 Profil | PM | E-Mail  
Kayleigh
Mitglied
Neuling


Dabei seit: 04.06.2021
Herkunft: keine Angabe
Posts: 2
      Zitat | Bearbeiten

Zitat:
Orginal von Andavos
Schau mal hier:
https://www.php-einfach.de/mysql-tutorial/php-prepared-statements/#LIMIT_mit_Parametern


Ähm, danke,- aber genau danach habe ich doch den Code geschrieben...!?


10.06.2021, 21:57 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6295
      Zitat | Bearbeiten

Siehe den Abschnitt zu:

Zitat:
Um dieses Problem zu lösen, existieren zwei Vorgehensweisen. Die erste ist die Deaktivierung der emulierten Prepared Statements, dadurch werden die tatsächlichen von MySQL bereitgestellten Prepared Statements verwendet. Der Code sieht dann wie folgt aus:



www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



Gestern, 11:48 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » PDO prepare und ORDER BY   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz