2017-02-19 77 views
0

我無法從php中使用$_GET/$_REQUEST獲取網址ID。

我的鏈接

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

我的代碼

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 

返回 「失敗」。我嘗試了其他所有可以在互聯網上找到的方法。

+1

你的問題不是你無法獲得post_id,而是你的選擇查詢無效。 **您應該檢查您的錯誤日誌中是否有錯誤消息。**此外,您可以[SQL注入](http://php.net/manual/en/security.database.sql-injection.php)和應該真正使用[Prepared Statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)而不是連接你的查詢。特別是因爲你沒有逃避用戶輸入! –

+0

謝謝Magnus。我試着改變我的SELECT查詢。它的工作現在。 – Himakar

+0

請標記答案,然後至少投票 –

回答

1

實際上你所得到的ID 但 它給你失敗了,因爲你的SQL查詢是不正確的

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

改變它像

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

如果您嘗試使用fe tch該帖子的帖子內容post_id

0

SELECT查詢應該這樣寫

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