我写了以下名为fetchdetails.php
<?php
$db ="fb";
$con = mysql_connect("host","user","paswd") or die ("hi ".mysql_error());
mysql_select_db($db) or die("helo".mysql_error());
$id = $_POST["id"];
echo $id;
$id = (string)$id;
echo $id."hi";
当我使用www.anyaddress.com/fetchdetails.php?id=1722315
调用它时,但echo $ id没有显示任何内容。尽快需要帮助。实际上,我之前在其他一些代码中做了同样的事情并且工作正常。
答案 0 :(得分:11)
如果想要从URL查询中获取值,例如
中的id
部分
http://example.com?id=42
您应始终使用 $_GET
超全局数组,如下所示:
$id = $_GET['id'];
echo $id; // 42
另一方面,您应该使用 $_POST
来获取通过HTML表单提交的任何数据。
仅当您希望通过表单提交查询时才使用$_POST["id"];
无论情况如何,您都不应该信任POST / GET传递的任何数据。因此,在将它放入mysql查询之前,应该清理/转义它。
像这样:$id = mysql_real_escape_string($_GET['id']),
注意。每个以mysql_
开头的函数都是不安全的,因此您必须了解PDO或MySQLi
答案 1 :(得分:1)
删除此行
$db ="fb";
$con = mysql_connect("host","user","paswd") or die ("hi ".mysql_error());
mysql_select_db($db) or die("helo".mysql_error());
并检查它是否有效。如果确实如此,那么在建立连接时就会出现问题。
如果不是,请检查是否发送了 POST 或 GET 请求,并且已发送。
答案 2 :(得分:1)
如果值可以来自以下任何一项,您也可以使用$_REQUEST
变量
$_GET
,$_POST
或$_COOKIE