警告我不是一名PHP程序员。尝试从URL中提取ID字段时返回错误
我已经继承了PHP日记脚本,同时试图帮助客户恢复旧网站。脚本不能按预期运行。看来,问题在于与$ ID没有被从链路如http://example.com/diary.php?id=51
这里提取的方式是应该处理这个脚本:
<?php
// instert automatic date structure for 2004 or 2005
include 'admin24/config.inc.php';
if (isset($_GET['id'])){
$query = "SELECT * FROM `diary` WHERE id=$id";
$result = mysql_query($query)
or die ("problem resolving information....contact php_admin");
$row = mysql_fetch_array($result);
extract($row);
$date = date("j F Y", (strtotime($date)));
?>
如果我代替$id
像一个整数所以:
$query = "SELECT * FROM `diary` WHERE id=51";
没有问题,查询从数据库中检索得很好。
有谁能告诉我为什么这不起作用?由于它是,它总是返回:
“的问题解决信息....接触php_admin”
在此先感谢。
你不应该直接在mysql查询中使用$ id,至少要用mysql_real_escape_string($ id)来防止sql注入, – cppanda 2012-07-08 00:03:26