Mysql kiíratás növekvő időrendben, hogyan?
$lekerd1 = mysqli_query($conn, "SELECT * FROM tabla
WHERE x='$x");
Ez a lekérdezés, amit szeretnénk növekvő időrendben kiíratni. Van egy dátum oszlopom is a táblában.
(Természetesen a tábla helyén más van, meg az x helyén is.)
olvass utána a prepared statementnek
először én is mysqli-ra váltottam, és egy nagyon jó dolog miatt cseréltem le ezt is pdo-ra: elnevezett paraméterek (named parameters).
szóval míg mysqli-ban (egyszerűsítve!) így írsz meg egy insert .. on duplicate key update-et:
beszur (?, ?, ?, ..., ?) ha má van frissit(?, ?, ?, ..., ?)
paraméterek($a,$b,$c, ..., $d, $a, $b, $c, ..., $d)
addig pdo-ban tudod így is:
beszur (:a, :b, :c, ..., :d) ha má van frissit(:a, :b, :c, ..., :d)
paraméterek(:a = $a, :b = $b, :c = $c, .. :d = $d)
és nem cseszheted el azzal, hogy a huszadik kérdőjel most a dátum mező volt, vagy az üzenet.
a lekérdezésedben meg az a baj, hogy nincs (nem látunk) validálást a változón.
tehát az lehet "póni", de akár lehetne "1' OR 1=1" (ha jól tudom) és máris megkapta az egész táblát. ("SELECT * FROM tabla WHERE x='1' OR 1=1")
egy updatenél már durvább dolgot is csinálhat, pl átírja marci jelszavát, de marci egy k*csög és beírja, hogy ne csak annál a rekordnál, ahol a neve,id-ja az övé, hanem ahol 1 egyenlő 1-el.
aztán biztos lehet még rosszabb dolgokat is, de ahhoz már nem értek (ezek ugye single queryk, tehát dp table-t nem tudsz mellé írni?, subqueryben meg szerintem nem működik, de nem próbáltam)
*dp table = dróp tábla
...gyk logic..
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!