无法使用$ _GET/$ _REQUEST方法从网址php中获取ID

问题描述:

我无法从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

请标记答案,然后至少投票 –

实际上你所得到的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

SELECT查询应该这样写

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