2017-02-19 5 views
0

kann ich nicht erhalten die ID von URL mit $_GET/$_REQUEST in PHP.

meinen Link

http://localhost/Social/single.php?post_id=1 

meinen Code

function single_post() { 

    if (isset($_REQUEST['post_id'])) { 

     global $con; 

     $get_id = $_REQUEST['post_id']; 
     $get_posts = "SELECT * FROM posts (post_id) VALUES ('$get_id')"; 
     $run_posts = mysqli_query($con,$get_posts); 

     if($run_posts) { 
      echo "SUCCESS."; 
     } else { 
      echo "FAILED."; 
     } 
    } 

}//singlepost ends here 

Es "nicht bestanden" zurück. Ich habe jede andere Methode ausprobiert, die ich im Internet finden konnte.

+1

Ihr Problem ist nicht, dass Sie die Post-ID nicht erhalten können, ist es Ihre Select-Abfrage, die ungültig ist. ** Sie sollten Ihr Fehlerprotokoll auf Fehlermeldungen überprüfen. ** Außerdem sind Sie offen für [SQL Injections] (http://php.net/manual/en/security.database.sql-injection.php) und sollte [Prepared Statements] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) verwenden, anstatt Ihre Abfragen zu verketten. Besonders, weil Sie den Benutzereingaben überhaupt nicht entkommen! –

+0

Danke Magnus. Ich habe versucht, meine SELECT-Abfrage zu ändern. Es funktioniert jetzt. – Himakar

+0

Bitte markieren Sie die Antworten dann, zumindest stimmen –

Antwort

1

geschrieben werden tatsächlich Sie bekommen die ID aber es gibt Ihnen schlug fehl, da Sie SQL-Abfrage nicht korrekt ist

$get_posts = "SELECT * FROM posts (post_id) VALUES ('$get_id')"; 

ändern es so etwas wie

$get_posts = "SELECT * FROM posts where post_id=$get_id"; 

wenn Sie versuchen, fe tch den Beitrag Inhalte dieser post_id

0

SELECT-Abfrage wird, sollte wie

"SELECT * FROM posts WHERE post_id='$post_id'"