私のデータベース
id username
1 xxx
2 bbb
3 vvv
4 bbbbbb
私は次のように出力する必要があります
array('xxx','bbb','vvv','bbbbb');
PDOを使用して、dbからユーザー名をフェッチし、それを配列にする必要があります。これは、ユーザー名が存在することを確認するためのものです。
ユーザー名が存在するかどうかのみを確認する場合は、余分なデータを返すのではなく、クエリを変更してそれを行うのが最適です。
$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;
$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 を設定してください。
あなたが求めたことを正確に行うには:
$query = $dbh -> prepare("SELECT username from users");
if ($query -> execute()){
$user_array = $query -> fetch(PDO::FETCH_ASSOC);
}
ただし、Tim Cooperの答えはおそらくより良い解決策です。