-1

我写了以下名为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 调用它时没有显示任何内容。需要尽快帮助。实际上,我之前在其他一些代码中做了同样的事情,它工作正常。

4

3 回答 3

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']),

笔记。以 depredicated 开头的每个函数mysql_都无法安全使用,因此您必须了解 PDO 或 MySQLi

于 2012-11-24T19:11:22.910 回答
1

删除此行

$db ="fb"; 

$con = mysql_connect("host","user","paswd") or die ("hi ".mysql_error());

mysql_select_db($db) or die("helo".mysql_error());

然后检查它是否有效。如果有,那么您在建立连接时遇到问题。

如果没有检查您是否发送POSTGET请求,是否已发送

于 2012-11-24T19:14:30.917 回答
1

您也可以使用$_REQUEST变量,如果值可以来自以下任何一个 $_GET$_POST或者$_COOKIE

于 2012-11-24T19:19:35.693 回答