0

私のデータベース

id  username
1   xxx
2   bbb
3   vvv
4   bbbbbb

私は次のように出力する必要があります

array('xxx','bbb','vvv','bbbbb');

PDOを使用して、dbからユーザー名をフェッチし、それを配列にする必要があります。これは、ユーザー名が存在することを確認するためのものです。

4

3 に答える 3

3

ユーザー名が存在するかどうかのみを確認する場合は、余分なデータを返すのではなく、クエリを変更してそれを行うのが最適です。

$query = $pdo->prepare("SELECT `id` FROM `users` WHERE `username` = ? LIMIT 1");
$query->execute(array($username_to_test));

if ($query->rowCount() == 1)
{
    // user exists in table
}

ユーザー名の配列が必要になった場合は、次のようにします。

$usernames = array();
$query = $pdo->query("SELECT `username` FROM `users`");
while(($row = $query->fetchObject()) != null)
    $usernames[] = $row->username;
于 2012-10-19T12:58:45.290 に答える
0
$pdo = new PDO($dsn,$user,$pass);
$pdos = $pdo->prepare('select username from mytablename');
$pdos ->execute();
$results = array();
while ($row = $pdos->fetch(PDO::FETCH_ASSOC)) {
    $results[] = $row['username'];
}
var_dump($results);

doc に従って、データベースの $dsn、$user、および $pass を設定してください。

于 2012-10-19T13:03:56.503 に答える
0

あなたが求めたことを正確に行うには:

$query = $dbh -> prepare("SELECT username from users");
if ($query -> execute()){
    $user_array = $query -> fetch(PDO::FETCH_ASSOC);
}

ただし、Tim Cooperの答えはおそらくより良い解決策です。

于 2012-10-19T13:09:08.103 に答える