0

MySQL から値を取得するために PHP を使用しています。私のテーブルには次の形式があります。

COL1 = MAIL mail@mail.com
COL2 = NAME myname

データベースからユーザーの行を取得しています。

$query = mysqli_query($conn, "select * from user where mail = 'telmo@mail.com'");
$row = mysqli_fetch_array($query);

print_r($row);

しかし、私の出力は非常に奇妙です。次のような二次元配列が得られます。

Array ( [0] => mail@mail.com [MAIL] => mail@mail.com [1] => myname [NAME] => myname )

私はPHPを学んでいますが、これはこのようなものなのだろうかと思っています。私はもっ​​と次のようなものが欲しいからです:

MAIL => mail@mail.com
NAME => myname

多分私はこの構文をよく理解していませんが、これが私が助けを求めている理由です. 前もって感謝します

前もって感謝します

4

2 に答える 2

1

説明書より

mysqli_fetch_array() は mysqli_fetch_row() 関数の拡張バージョンです。結果配列の数値インデックスにデータを格納することに加えて、mysqli_fetch_array() 関数は、結果セットのフィールド名をキーとして使用して、連想インデックスにデータを格納することもできます。

あなたが本当に求めているのはmysqli_fetch_assoc()

フェッチされた行に対応する連想配列を返すか、それ以上行がない場合は NULL を返します。

于 2013-11-15T00:49:15.460 に答える
1

クエリの後に MYSQLI_ASSOC を指定するか、mysqli_fetch_assoc を使用します。マニュアルから:

resulttype このオプションのパラメーターは、現在の行データから生成される配列のタイプを示す定数です。このパラメーターの可能な値は、定数 MYSQLI_ASSOC、MYSQLI_NUM、または MYSQLI_BOTH です。

MYSQLI_ASSOC 定数を使用すると、この関数は mysqli_fetch_assoc() と同じように動作し、MYSQLI_NUM は mysqli_fetch_row() 関数と同じように動作します。最後のオプション MYSQLI_BOTH は、両方の属性を持つ単一の配列を作成します。

マニュアル: http://us2.php.net/mysqli_fetch_array

于 2013-11-15T00:51:07.817 に答える