結果として単一の行を返す SQL クエリがあります。この行には、整数の列が 1 つだけ含まれています。この整数を変数に入れたい。
クエリを実行し、クエリの結果を次のように配列で返します。
$row = mysqli_fetch_all($result, MYSQLI_ASSOC);
この 1 行の 1 列の値を $age などの変数に保存したいと思います。これはどのように行うことができますか?
(このクエリは、常に 1 つの列を持つ 1 つの行、常に整数を返します)
mysqli_fetch_all
行を返しません。しかし、行のセット。
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
$value = reset($rows[0]);
しかし、より適切な関数を使用する方がより論理的です。
$row = mysqli_fetch_row($result);
$value = $row[0]; // here you go.
列が 1 つしかなく、クエリで返される行が 1 つだけなので、取得できる値は 1 つだけです。また、連想配列をフェッチしているので、次のようにして変数に格納できます。
$row = mysqli_fetch_all($result, MYSQLI_ASSOC);
foreach ($row as $r) {
$test = $r['age'];
}
ただし、そこから取得する値は 1 つだけなので、結果の型を省略して get することができます$test = $r[0]
。