Hallo,
ik heb volgend query:
SELECT posts.post_topic, posts.post_content, posts.post_date, posts.post_by, members.id, members.username FROM posts LEFT JOIN members ON posts.post_by = members.id WHERE posts.post_topic = ".$_GET['id']." ORDER BY posts.post_date DESC LIMIT ".$position.", 10

Echter geeft mysql volgende error:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ORDER BY posts.post_date DESC LIMIT 0, 10' at line 1


Wat is er fout aan het query?
Echo de query eens.

Je hebt een veiligheidslek: $_GET['id'].
Zie sql-injection.
de $_GET['id'] wijst gewoon naar welk topic, en indien het topic niet bestaat word het query niet uitgevoerd (staat nog ergens voor dit query).

Daarbij lijkt dit niet de oorzaak van het probleem.
Volgens mij kun je "nog" geen LIMIT gebruiken in een SELECT query.
- SanThe - op 24/08/2014 14:21:20

Echo de query eens.


Goto: Dit zou ik bizar vinden, hier heb ik nog nooit een probleem mee gehad

De echouitkomst:
SELECT posts.post_topic, posts.post_content, posts.post_date, posts.post_by, members.id, members.username FROM posts LEFT JOIN members ON posts.post_by = members.id WHERE posts.post_topic = ORDER BY posts.post_date DESC LIMIT 0, 10

Lijkt me dat er niets aan de hand is, of toch niet voor pagina 1, voor pagina 2 moet ik nog wat aan het query aanpassen.
... WHERE posts.post_topic = ORDER BY ...

Je GET is leeg.
wacht, ik zie het al xd

[size=xsmall]Toevoeging op 24/08/2014 14:40:48:[/size]

Nieuw probleem: hoe krijg ik een GET in een javascript mee doorgestuurd naar een andere pagina?
Ajax?
Session?
Om de 1 of andere reden wil de get zich niet in het session omvormen.

ik dacht dit ik dit gewoon kon met op de pagina waar de $_GET['id'] wel staat, door volgende code:
$_SESSION['topic'] = $_GET['id'];

Echter wanneer ik deze in het query oproep is deze nog steeds leeg.

Mijn sessie start met volgende code:
function sec_session_start() {
    $session_name = 'sec_session_id';   // Set a custom session name
    if (ini_set('session.use_only_cookies', 1) === FALSE) {
        header("Location: ../error.php?err=Could not initiate a safe session (ini_set)");
        exit();
    }
    // Gets current cookies params.
    $cookieParams = session_get_cookie_params();
    session_set_cookie_params($cookieParams["lifetime"],
        $cookieParams["path"], 
        $cookieParams["domain"]);
    // Sets the session name to the one set above.
    session_name($session_name);
    session_start();            // Start the PHP session 
    session_regenerate_id();    // regenerated the session, delete the old one. 
}
<?php
session_start();
if(isset($_GET['id']))
{
$_SESSION['topic'] = $_GET['id'];
}
?>
<?php
session_start();
if(isset($_SESSION['topic']))
{
// doe wat
}
?>

Reageren