问问题
212 次
2 回答
1
仅当您的 URL 具有查询字符串(这通常意味着使用 GET 方法提交表单)时,才会填充$_GET 变量。
所以你必须首先检查是否$_GET
包含值,然后使用这些值:
if(isset($_GET['post']) && isset($_GET['page'))
{
$post = mysqli_real_escape_string($_GET['post']);
$page = intval($_GET['page']);
}
string
在您的第一行代码中强制转换为无用:mysqli_real_escape_string
无论如何都会返回一个字符串。
在您的第二行代码中:
- using
mysql_real_escape_string
since you are usingintval
: 整数值不需要任何额外的转义 - 投射到
int
是没用的,这已经完成了intval
重要通知:
由于所有 mysql_* 函数都已弃用并将在 PHP 的未来版本中删除,因此您应该使用MySQLi 或 PDO(我在代码示例中使用了 MySQLi)。
于 2012-09-11T21:41:41.293 回答
0
此错误正是警告告诉您的内容。
$_GET 是作为 HTTP GET 参数传入的项目数组。
$_GET['page']
并$_GET['post']
给你未定义的索引警告,因为关联数组中没有键为“post”或“page”的项目。
弄清楚发生了什么的一种方法是 var_dump() 整个 $_GET 数组以查看其中的内容。
var_dump($_GET)
于 2012-09-11T20:53:15.267 回答