PHP PDO mysql_result()等价吗?

时间:2012-08-27 17:48:36

标签: php oop object pdo fetch

我将在PDO中使用什么而不是旧的mysql_resul()?

function ib_uk_isvalid($db,$uk) {
    try {

    $sth = $db->prepare("SELECT count(*) FROM ib_userkeys WHERE value=:val");
    $sth->bindParam(":val",$uk);
    $sth->execute();
    $numrows = $sth->fetchColumn();

    if($numrows>=1) {

        $sth2 = $db->prepare("SELECT * FROM ib_userkeys WHERE value=:val");
        $sth2->bindParam(":val",$uk);
        $sth2->execute();
        $res = $sth2->fetchAll();
        print($res[0]->type);

    } else {
    return 0;
    }


    } catch (PDOException $e) {

        return $e->getMessage();

    }
}

ib_uk_isvalid($db,1234)

给我错误,因为它返回表而不是对象(我需要)。

1 个答案:

答案 0 :(得分:3)

function ib_uk_isvalid($db, $uk) {
    $query = $db->prepare('SELECT * FROM ib_userkeys WHERE value = :val LIMIT 1');
    $query->bindValue(':val', $uk);
    $query->execute();

    $row = $query->fetch(PDO::FETCH_OBJ);

    return $row ? $row->type : 0;
}

......我是怎么写的。它可以解决问题。