1

一時データベースからすべての行を返すために mysql クエリを実行しています。次に、それらの行の属性の一部を修正する必要があるため、各行を配列に返して、配列を参照し、特定の属性を修正できるようにします。各行

各行を独自の配列に取得する方法に固執しています。これには2次元配列を使用する必要があると推測していますが、mysqlクエリから2次元配列にデータを入力する方法がわかりません。それは私が以下で試したようなものだと思いますか?

    $result_array = array();
while ($row = mysql_fetch_assoc($res2)) {
 $result_array[] = $var;
foreach($row as $key => $var) {
// Insert into array
echo $var;
}

ただし、これを試すと、次のような通知が表示されます。

注意: 配列から文字列への変換

これについて正しい方向に私を向ける助けは素晴らしいでしょう

4

1 に答える 1

2

あなたが何を求めているのか理解できれば、文字通り、SQL クエリの各行を$result_array配列内の単一のインデックスにしたいですか?

その場合は、すでに取得しています$row-それを配列に直接追加できます。

$result_array = array();
while ($row = mysql_fetch_assoc($res2)) {
    $result_array[] = $row;
}

グローバル配列に値を追加するとき、または次の後に、配列内の値を変更できます。

foreach ($result_array as $index => $row) {
    $result_array[$index]['some_key'] = $row['some_key'] . ' [modified]';
}


サイドノート(特定の回答ではありません)
古い廃止されたmysql_関数を使用しないことをお勧めし、代わりにMySQLiまたはPDOを優先します。これらはどちらも使いやすく、古い方法よりも安全で、準備済みステートメントなどの幅広い機能を提供します。

上記は、次のように mysqli で記述できます。

if ($result = mysqli_query($connection, $query)) {
    $results = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $results = $row;
    }
    mysqli_free_result($result);
}
于 2013-10-15T16:55:06.247 に答える