我的数据库
id username
1 xxx
2 bbb
3 vvv
4 bbbbbb
我需要输出为
array('xxx','bbb','vvv','bbbbb');
使用 PDO 我需要从数据库中获取用户名并将其设置为数组,以检查用户名是否存在
如果您只检查用户名是否存在,最好修改您的查询来做到这一点,而不是返回多余的数据:
$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 before 。
完全按照您的要求做:
$query = $dbh -> prepare("SELECT username from users");
if ($query -> execute()){
$user_array = $query -> fetch(PDO::FETCH_ASSOC);
}
不过,蒂姆库珀的回答可能是一个更好的解决方案。