-2

私はphpを書きます

$query = "SELECT privilege , no, userName FROM  $tableName WHERE userName =   

'$inputAccount' and password = '$inputPassword'";

$result = $mysqli->query($query);

if($result){
       while ($row = $result->fetch_assoc()) {
        printf ("%s %s %s\n", $row["privilege"], $row["no"], $row["userName"]);
    }
}

結果はuser 2 test

session_start();
$_SESSION["privilege"]=$row["privilege"];
$_SESSION["no"]=$row["no"];
$_SESSION["userName"]=$row["userName"]

echo $_SESSION["privilege"] ;
echo $_SESSION["no"];
echo $_SESSION["userName"];

しかし、結果は何にもなりません、そして私は長い間それを修正しました、そして理由を見つけることができませんか?

事前にThx。

4

2 に答える 2

2

以下のコードを使用してください。問題は、SQL出力を変数に格納しておらず、whileループの外で結果にアクセスしていないことでした。

session_start();
$query = "SELECT privilege , no, userName FROM  $tableName WHERE userName =   

'$inputAccount' and password = '$inputPassword'";

$result = $mysqli->query($query);

if($result){
       while ($row = $result->fetch_assoc()) {
        //printf ("%s %s %s\n", $row["privilege"], $row["no"], $row["userName"]);
       $pr = $row["privilege"];
       $no = $row["no"];
       $name = $row["userName"];
    }
}

$_SESSION["privilege"]=$pr;
$_SESSION["no"]=$no;
$_SESSION["userName"]=$name

echo $_SESSION["privilege"] ;
echo $_SESSION["no"];
echo $_SESSION["userName"];
于 2013-02-04T05:10:57.340 に答える
1

ループの$_SESSION に値を割り当てていると仮定すると、はその段階になります。while$rowfalse

于 2013-02-04T05:10:54.747 に答える