我的數據庫生成用戶名的簡單數組使用PDO
id username
1 xxx
2 bbb
3 vvv
4 bbbbbb
我需要爲
array('xxx','bbb','vvv','bbbbb');
使用PDO我需要獲取用戶名從數據庫&作出這樣的數組,是用於檢查輸出用戶名存在
我的數據庫生成用戶名的簡單數組使用PDO
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);
設置數據庫DSN $,$用戶和$ according to doc面前經過。
做的正是你問:
$query = $dbh -> prepare("SELECT username from users");
if ($query -> execute()){
$user_array = $query -> fetch(PDO::FETCH_ASSOC);
}
蒂姆·庫珀的回答可能是一個更好的解決方案,但。
您不想獲取所有用戶名,然後檢查用戶名是否存在。相反,使用你的數據庫函數來驗證。例如:'SELECT username FROM table WHERE LOWER(username)= LOWER(variable)' – Daniel
@Daniel是的,但在這種情況下,我需要生成一組用戶名。即時通訊使用一些阿賈克斯呼籲動態用戶名檢查 – ramya
我仍然認爲你應該重新考慮。獲取一堆用戶名在驗證方面是不實際的。 – Daniel