$_GET['id'] = $id1;
$result = mysql_query("SELECT * FROM example WHERE id = '$id1'");
while ($row = mysql_fetch_array($result)) {
//some code
}
为什么这段代码不起作用?它不遵守id='$id2'
位。它从表格示例中获取所有内容。
我该如何解决?
示例表包含id,text,time rows
。文件名为example.php?id=1
。
答案 0 :(得分:7)
不应该是$id1 = $GET['id']
?
但是你应该注意,因为你的代码容易受到SQL注入攻击,有人可以查询像example.php?'; delete from example;
这样的精心设计的网址
答案 1 :(得分:1)
$_GET['id'] = $id1;
应该是$id1 = mysql_real_escape_string($_GET['id']);
吗?
答案 2 :(得分:0)
这对你有用吗?自从我上次使用php以来已经很久了......
$id1 = $_GET['id'];
$result = mysql_query("SELECT * FROM example WHERE id = '$id1'");
while($row = mysql_fetch_array($result))
{
//some code
}
答案 3 :(得分:0)
$id1 = $_GET['id'];
吗?答案 4 :(得分:0)
如果id
是您表格中的数字字段,请尝试删除引号:
"select * from example where id = $id1"
当然:
$GET['id'] = $id1;
应该是:
$id1 = $GET['id'];
答案 5 :(得分:0)
不应该是$id1 = $_GET['id'];
而不是$_GET['id'] = $id1;
吗?
答案 6 :(得分:0)
$id1 = $_GET['1'];
$id1 = (int)$id1;
$result = mysql_query("SELECT * FROM example WHERE id = $id1 ");
尝试不使用*
尝试调用极点的真实姓名,例如tablename.user_name,tablename.user_login