1

私はこれを行う方法を理解しようとしています:

$var_name = 'name';

$results = mysql_query ("SELECT * FROM users WHERE id = 1") or die (mysql_error ());
$row = mysql_fetch_assoc ($results);

$username = $row[$$var_name];

この mysql の結果内で $variable を使用するにはどうすればよいですか?

前もって感謝します :-)

4

2 に答える 2

0

これから私が得たのは、後で使用するためにクエリの結果を変数に割り当てようとしているということでしたか? ユーザー名、パスワード、住所、都市、州、郵便番号などのようなもの。これを行うには、次のようにします。

$sql = SELECT * FROM users WHERE id = 1
$result = mysql_query($sql) or die(mysql_error())

//now assign the variables
for($row = 0; $row = mysql_fetch_array($result, MYSQLI_ASSOC); $row++)
{
    //assign variables
    $username = $row['username'];
    $password = $row['password'];
    $city = $row['city'];
    $state = $row['state'];
    $zip = $row['zip'];

    //etc...
}

ただし、これはループであるため、クエリから 2 つの結果が得られた場合、ループごとに変数が異なることに注意してください。このタイプの設定は、複数行のデータを表示するのに適しています。使用する必要のある変数を設定するために使用できる方法は他にもあります。

于 2012-11-22T13:05:42.130 に答える
0

次のようなものを使用できると思います

${$var_name}

しかし、これは最善の方法ではありません... $var_name がリクエストからのものである場合、重大なリークが発生する可能性があります!

あなたの例では、次のようになります。

$var_name = 'name';
$username = $row[${$var_name}];  // same as : $username = $row[$name];

もう一度:お勧めしません!

于 2012-11-22T13:11:36.490 に答える