Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP PDO mysql_result()等价物?_Php_Oop_Object_Pdo_Fetch - Fatal编程技术网

PHP PDO mysql_result()等价物?

PHP PDO mysql_result()等价物?,php,oop,object,pdo,fetch,Php,Oop,Object,Pdo,Fetch,在PDO中使用什么来代替旧的mysql_resl() 给我错误,因为它返回表而不是对象(我需要) 。。。我就是这么写的。这可能会解决问题。这似乎有点奇怪。你不能只做一次选择,然后计算结果吗?事实上,您正在两次运行同一个查询…@andrewsi挂起设置-就执行而言,count()实际上可能无关紧要;数据库可能会缓存一个相对计数,并几乎自动返回一个结果,而不是实际计算行数。@newfurniture-但将查询传递给数据库也会带来开销。没错,这不是什么额外的工作,但仍然是额外的工作。 function

在PDO中使用什么来代替旧的mysql_resl()

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


。。。我就是这么写的。这可能会解决问题。

这似乎有点奇怪。你不能只做一次选择,然后计算结果吗?事实上,您正在两次运行同一个查询…@andrewsi挂起设置-就执行而言,
count()
实际上可能无关紧要;数据库可能会缓存一个相对计数,并几乎自动返回一个结果,而不是实际计算行数。@newfurniture-但将查询传递给数据库也会带来开销。没错,这不是什么额外的工作,但仍然是额外的工作。
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)
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;
}