0

これが私のコードです:

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

$userid 変数はスクリプトの残りの部分で定義され、適切に機能します。
私のスクリプトは script.php で、正しく動作します (toondb テーブルの行を表示するテーブルです)。ただし、私のテーブルには、userid という列があります。私のユーザーIDは「1」です。だから、あなたが入力すると...

script.php?u=1

データベース内の uuserid='$userid' の行を表示する必要があります script.php?u=1 と入力すると機能します ただし、ユーザー 620 には DB にも行があり、script.php?u と入力すると、 =620 空白の結果が得られます。助けてください?多分それは上記のクエリの問題です:)

-- 更新: 私の変数は実際には私自身のユーザー ID です

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

したがって、私のユーザー ID は 1 であるため、$userid は常に 1 です。script.php?u=620.. と入力すると、そのようにするにはどうすればよいですか? where 句に 620 を挿入すると、テーブル内のすべての行が表示されます。

ありがとう!

4

2 に答える 2

1

if は、url param == 現在ログインしているユーザーの場合にのみクエリが実行されることを意味するので、それを取り除きます。

<?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 に答える