2009-08-14 25 views
2

私はPHPでこのクエリを持っているとします。PHPのMySQL結果配列

$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' "); 

どれもいいですが、問題があります。どのように私は推測$の内容を表示、やっていることはそれほどのような配列である:

 
Index   | Value 
ID    | 1 
Username  | Foo 
Password  | Bar 
...

答えて

3
 
while ($row = mysql_fetch_assoc($a)) { 
    echo $row['id']; 
    echo $row['username']; 
    echo $row['password']; 
} 
0

使用mysql_fetch_assoc

while($row = mysql_fetch_assoc($a)) 
{ 
    echo $row['index'] . ' | ' . $row['ID'] . ' | ' . 
     $row['username'] . ' | ' . $row['password']; 
} 

mysql_free_result($a); 

それはかなり遅くはありませんので、私はmysql_fetch_rowからmysql_fetch_assocをprefere、それが与えます名前でフィールドを呼び出すことができます(たとえば、 `$ row ['index'])。

索引または名前で行を参照する柔軟性が必要な場合は、mysql_fetch_arrayを使用することもできます。本当に、ただ好みです。

0

または使用:mysql_query()を実行している

var_dump($a, true); 

あなただけのentrysを見たい場合は... PHPとMySQL関数で

0

は、結果セットを指す識別子を返します。したがって、返されたIDを実際にmysqlに渡して結果セットを返すには、mysql_fetch_assoc()またはその兄弟(mysql_fetch_arraymysql_fetch_objectmysql_fetch_row)が必要です。

これらの関数はただ一つの行を返し、内部ポインタを次の行に進めることにも注意してください。

0

mysql_fetch_row()でどうなりますか? list()言語コンストラクトと組み合わせれば、かなりうまく動作し、強く型付けされた変数名を提供します。私はこれを数回使用しました:

$a = mysql_query("SELECT * FROM `users` WHERE `id` = '1' "); 

while(list($index,$id,$username,$password) = mysql_fetch_row($a)) 
{ 
    echo "Index | " . $index . "<br />"; // assuming this in HTML 
    echo "ID | " . $id . "<br />; 
    echo "User | " . $username . "<br />"; 
    echo "Pass | " . $password . "<br />"; 
} 
関連する問題