1

次のコードでは、結果に複数の製品が含まれ、それぞれに複数の列があります。

$db = connect_db();
$sql = "SELECT * FROM Products";
$result = $db->query($sql);
$ary = $result->fetch_array(MYSQLI_ASSOC);
foreach($ary as $key => $element){
  echo "key is $key, element is $element \n";
}

ただし、出力は単一の製品の各列を反復するだけです。

key is id, element is 1
key is productCode, element is S10_1678
key is productName, element is 1969 Harley Davidson Ultimate Chopper
key is productLineId, element is 5
key is productScale, element is 1:10
key is productVendor, element is Min Lin Diecast
key is productDescription, element is This replica features working kickstand, front suspension, gear-shift lever, footbrake lever, drive chain, wheels and steering. All parts are particularly delicate due to their precise scale and require special care and attention.
key is quantityInStock, element is 7933
key is buyPrice, element is 48.81
key is MSRP, element is 95.7

$array[0]['MSRP']評価する2次元配列を取得するにはどうすればよいですか95.7

4

3 に答える 3

3

$ary = $result->fetch_array(MYSQLI_ASSOC)あなたの場合の最初のレコードである一度に1つのレコードのみを取得します。使用する必要がありますwhile

while($ary = $result->fetch_array(MYSQLI_ASSOC)) //fetching one record at a time until end of record
{

    foreach($ary as $key => $element){
      echo "key is $key, element is $element \n";
    }

}
于 2012-08-19T13:55:56.107 に答える
1

私はこれがうまくいくと信じています:

while ($ary = $result->fetch_array(MYSQL_ASSOC){
  foreach($ary as $key => $element){
    echo "key is $key, element is $element \n";
  }
}

これは、より多くのレコードがある間、それは先に進んでそれらを配列に入れてそれらを出力することを意味します...これは古いmysql_fetch_assoc()とmysql_fetch_array()に基づいています。

幸運を。

目的を達成したい場合は、次のことを行う必要があります。

 while ($ary = $result->fetch_array(MYSQL_ASSOC){
      foreach($ary){
        $array[] = $ary;
      }
    }

これ$arrayで結果セット全体が得られたので、$array[0]['MSRP']-は希望する値を返します。

于 2012-08-19T13:56:14.480 に答える
1

コマンドの結果ではなく、mysql_fetchコマンドを繰り返す必要があります。

例:

$db = connect_db();
$sql = "SELECT * FROM Products";
$result = $db->query($sql);

while($entry = mysql_fetch_assoc($result))
{
  // $entry is an array you with the data of this DB-entry, eg
  echo $entry['MSRP'];
}
于 2012-08-19T13:58:43.130 に答える