0

私は現在、ユーザー プロファイル ページに取り組んでいます。このコードは、$_GET 関数を使用して URL からユーザー名を取得する必要があります。しかし、このデータをエコーし​​たい場合、奇妙なエラーが発生します。

( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\pvp\user.php on line 22
Call Stack
#   Time    Memory  Function    Location
1   0.0010  675120  {main}( )   ..\user.php:0
2   0.0111  697392  mysql_fetch_array ( )   ..\user.php:22

これはコードです:

require 'includes/connection.php';
require 'includes/common.php';
if (empty($_SESSION['user'])) {
    echo '<a href="login.php">login here</a> to view this profile!';
}
else {
    echo 'you are logged in!';
    if (isset($_GET['user'])) {
        $user = $_GET['user'];
        echo $user;
        $query = "SELECT * FROM  `users`  WHERE username = $_GET[user]";
        $result = mysql_query($query);
        $post = mysql_fetch_array($result);
    }
    else {
        echo 'No user selected';
    }
}

私は何を間違っていますか?? 私を助けてくださいありがとう

4

5 に答える 5

2

クエリに私のエラーがあることは明らかなので、前にmysqlエラーを出力してください

$user=$_GET['user'];
$query = "SELECT * FROM  `users`  WHERE username = '$user'";
$result = mysql_query($query) or die(" DB Error:".mysql_error());
于 2013-08-24T15:34:50.687 に答える
0

ユーザー名が文字列の場合、引用符を使用する必要があります。

$query = "SELECT * FROM users WHERE username = '".$userName."' ";

クエリが間違っているため、mysql_fetch_array は空の結果を取得するため、エラーがスローされます。!

于 2013-08-24T15:53:32.927 に答える
0

これを試して

   $myvar = mysql_real_escape_string($_GET['user'])
 $query = "SELECT * FROM  `users`  WHERE username = '".$myvar."'  ";

変数を使用する前にエスケープする必要があります。

于 2013-08-24T15:31:00.187 に答える
0

mysql_query() の 2 番目のパラメータは接続リソースです。

次のように「includes/connection.php」で接続を確立するときに、接続変数を定義しておく必要があります。

$conn=mysql_connect('host','user','password');

その変数を配置する必要があります

$result=mysql_query($query,$conn);
于 2013-08-24T15:45:52.070 に答える
0

PHP ドキュメント: mysql_query() returns a resource on success, or FALSE on error. リソースではなくブール値を取得した場合は、エラーがあることを意味します。

クエリ文字列を確認してください。$query = "SELECT * FROM users WHERE username = ".$user;ここに問題があります。

が文字列の場合usernameは、引用符を追加します ('your string var') :$query = "SELECT * FROM users WHERE username = '".$user."';

于 2013-08-24T15:40:46.830 に答える