带有MySQL查询的$ _GET

时间:2013-05-04 23:47:28

标签: php mysql select get where

这是我的代码:

if ($_GET['u'] == $userid) {
$query = mysql_query("SELECT * FROM table WHERE uuserid='$userid'"); 
}

$ userid变量在脚本的其余部分中定义并且正常工作 我的脚本是script.php并且工作正常(它是一个显示表toondb中的行的表)。 但是,我的表中有一个名为uuserid的列。我的用户ID是'1'。所以,如果你输入......

script.php?u=1

我需要它来显示数据库中uuserid ='$ userid'的行 当我输入script.php?u = 1时,它正在工作 但是,用户620在DB中也有行,当我键入时 script.php的?U = 620 我得到空白的结果。 请帮忙?也许这是上述查询的问题:)

- 更新: 我的变量实际上是我自己的用户ID

$userid = ($vbulletin->userinfo['userid']);

因此,$ userid对我来说总是1,因为我的用户ID是1.呃,我现在是一个doofus。 我怎么能这样做,如果你输入script.php?u = 620 ..它将620插入到where子句中,并显示表中uuserid = 620的所有行

谢谢!

2 个答案:

答案 0 :(得分:1)

if if意味着只有在url param == current登录用户时才会执行查询,所以我就摆脱了。

<?php
//...

if (ctype_digit($_GET['u'])) {
    $query = mysql_query("SELECT * FROM toondb WHERE uuserid={$_GET['u']}"); 
}

?>

mysql函数即将被弃用,因此请开始使用PDO:D

答案 1 :(得分:0)

我们缺少一条重要的代码:$ userid的值是如何计算的?我有一种感觉它甚至没有达到你的查询,因为你的if,就是$ userid总是1所以任何不同于1的$ _GET ['u']的值都不会满足你的条件,因此不能计算查询。