2016-04-19 11 views
1

このクエリにMySQLのクエリのすべての値を返す: フェッチ(PDO :: FETCH_ASSOC)は、MySQLへのアレイ

SELECT `group_id` 
      FROM `j30_user_usergroup_map` 
      WHERE `user_id` =3065 

は、次のような結果を返して:

enter image description here

しかし、PHPで次のコード:

$db = new PDO('mysql:host=localhost;dbname=', '', ''); 
    $sth = $db->prepare('SELECT `group_id` 
     FROM `j30_user_usergroup_map` 
     WHERE `user_id` =3065'); 
    $sth->execute(); 
    $result = $sth->fetch(PDO::FETCH_ASSOC);   
    print_r($result); 

戻る:

([group_id] => 2) 

here

+0

ループまたはhttp://php.net/間

2):で

$result = $sth->fetch(PDO::FETCH_ASSOC); 

1)

変更をapprochはfetchAll manual/ja/pdostatement.fetchall.php – AbraCadaver

+0

FYI、あなたがあなたの値を束縛していないならば、 'PDO'を使うのは本当に意味がありません。それが提供する追加のセキュリティを活用してください。そして、あなたは 'fetchAll()'を探している:http://php.net/manual/en/pdostatement.fetchall.php – Marcus

+0

PDOStatement :: fetch - 結果セットから次の行**を取得する – AbraCadaver

答えて

1

を説明するように、私はあなたが、この問題を解決fetchAll()によってfetch()を変更したり、whileを使用して、新しい配列を返すための2つの方法があり、配列だけでなく、第一のすべての要素をしたいです。 approch

$items = array(); 
while($row = $sth->fetch(PDO::FETCH_ASSOC)){ 
    $items[] = $row; 
}  
+0

fetchAllは機能しますが、私が提供したマニュアルへのリンクでは、fetchが使用されています。 –

+0

マニュアルのリンクから「PDOStatement :: fetch - 結果セットから次の行**を取得します」 – AbraCadaver

+1

@NunoNogueira se quiser pode perguntar naversãoemportuguêsdo site http://pt.stackoverflow.com/: ) – rray