0

ユーザーがデータを入力することになっている多くのフィールドを持つフォームがあり、管理者ビューから、管理者は入力されたデータでフォームを見ることができます。したがって、SQLクエリによってユーザービューと管理ビューの間でデータを渡していますが、専門的ではない方法で、以下のような方法でデータを抽出しています:

    $query = "SELECT FName,LName,.... (My Query here)"
    $result = $conn->prepare($query);
    $result->bindParam(':flag', $flag, PDO::PARAM_STR);
    $result->execute();

そして、私は以下のようなデータを取得しています:

           $result[0],... $result[55]

私のアプローチが専門的ではないことはわかっています.$result[22]が何であるかを理解するのが非常に混乱するインデックスの代わりに名前でデータを取得するより良い方法は何ですか....

簡単な例を挙げれば完璧です!また、私の質問が明確でない場合は、より明確にする必要がある部分を教えてください! ありがとう

4

1 に答える 1

1

どうですか:

$sql = "SELECT * FROM table";

foreach($db->query($sql) as $row)
  echo $row['column1'], $row['column2'], $row['column3'], $row['column4'], "\n";

column*列の名前はどこですか

改訂:

$dbh = new PDO('mysql:host=localhost;dbname=somedb', 'username', 'password');
$sth = $dbh->prepare("SELECT * FROM table WHERE id = '25' LIMIT 1");
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);

print_r($result);

どちらのメソッドも連想配列を返します。

個人的には 55 個のパラメーターをバインドしないので、連想配列を使用することをお勧めします。

于 2013-10-17T01:46:57.007 に答える