Php 有谁能帮我检查一下表中是否有使用此用户名的用户?

Php 有谁能帮我检查一下表中是否有使用此用户名的用户?,php,sqlite,pdo,Php,Sqlite,Pdo,有谁能帮我检查一下表中是否有使用此用户名的用户? 我正在使用SQLite3、PHP和PDO,我编写了如下代码 try { $db = new PDO('sqlite:/var/db/db_users.db'); $query = 'SELECT COUNT(*) FROM users WHERE username= :username';// moze LIMIT 1 da se stavi jer je sigurno jedan sa istim username i pa

有谁能帮我检查一下表中是否有使用此用户名的用户? 我正在使用SQLite3、PHP和PDO,我编写了如下代码

 try {
    $db = new PDO('sqlite:/var/db/db_users.db');
    $query = 'SELECT COUNT(*) FROM users WHERE username= :username';// moze LIMIT 1 da se stavi jer je sigurno jedan sa istim username i password sine
    $sth = $db->prepare($query, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
    $sth->execute(array(':username' => $username));
    $result = $sth->fetchAll();
} catch (Exception $e) {
    return (array('message' => 'error'));
}

但是没有一个单独的抓取,或者我找不到。有谁能帮我解决这个问题吗?

只需一次抓取。。因为只有一行,所以您必须像正常一样获取它,不要循环,然后关闭光标。如果你只在一个特定的值之后,你也可以突出拉柱

try {
    $db = new PDO('sqlite:/var/db/db_users.db');

    // add an alias.. not really necessary but good practice
    $query = 'SELECT COUNT(*) AS usercount FROM users WHERE username= :username';

    $sth = $db->prepare($query);
    $sth->execute(array(':username' => $username));

    // just call regular fetch for the first an only result
    // use fetch(PDO::FETCH_COLUMN) or fetchColumn to jsut get 
    // a single column value from the row
    $result = $sth->fetchColumn(0);

    // be nice and close the cursor since we are done.
    $sth->closeCursor();

} catch (Exception $e) {
    return (array('message' => 'error'));
}

您是否尝试使用$sth->fetchOne()或$sth->fetchRow()或尝试使用:$query='从username=:username LIMIT 1'的用户中选择COUNT(*)@法拉奥纳:没有
fetchOne
fetchRow