0

这是我的代码:

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 在数据库中也有行,当我输入 script.php?u =620 我得到空白结果。请帮忙?也许是上面的查询有问题:)

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

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

因此,$userid 对我来说总是 1,因为我的 userid 是 1。呃,我现在是个傻瓜。如果您键入 script.php?u=620.. 它将如何做到这一点,它将 620 插入 where 子句,并将显示表中 uuserid=620 的所有行

谢谢!

4

2 回答 2

1

这意味着只有在 url 参数 == 当前登录用户时才会执行查询,所以我会摆脱它。

<?php
//...

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

?>

mysql 函数即将被弃用,所以开始使用 PDO :D

于 2013-05-05T00:03:11.997 回答
0

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

于 2013-05-04T23:52:02.597 回答