使用PDO MYSQL返回单个值


Returning a single value using PDO MYSQL

我正在切换到PDO,简单地说,我想从表中返回一个值(我觉得没有正确处理它真的很愚蠢)。我没有得到任何错误,但也没有值,应该有:)

 try {
        $sql = "SELECT `column_name` FROM `table` ORDER BY `id` DESC LIMIT 1";
        $query = $this->handler->query($sql);
        $result = $query->fetchColumn();
        print_r($result);
    } 
    catch(PDOException $e) {
        return false;
    }
    return true;

打印错误消息:

catch(PDOException $e) {
    print_r($e->getMessage());
    return false;
}

如图所示,如果您已正确连接到数据库,这将起作用。请检查对象是否已成功连接到数据库,以及是否具有正确的列名和表名。

我的一个DB类的片段:

/**********************************************************************
*  Try to connect to mySQL database
*/
public function connect($dbuser, $dbpassword, $dbhost ,$dbname)
{
    try {
        $this->dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpassword);
        $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        return true;
    } catch (PDOException $e) {
        $this->setError($e->getMessage());
    }
}