如何用MySQLi替换mysql_result

时间:2013-04-05 16:25:44

标签: php mysql

用{?

替换mysql_result的内容 我现在正在观看教程,但它是在2011年制作的,所以它现在不能正常工作。 这是情况,如果你告诉我用这里替换mysql_result的内容,以及在括号中放什么,我将非常感激

function update_count() {
    global $link;
    $query  = "SELECT `count`, FROM `hits_count`";
    if($query_run = mysqli_query($link, $query)) {
        $count = mysql_result($query_run, 0, 'count');
        $count_inc = $count + 1;
        echo $count;
    } 
}
update_count();

4 个答案:

答案 0 :(得分:7)

mysqli_query会向您返回mysqli_result object。从那里,你可以得到你想要的价值。

if($query_run = mysqli_query($link, $query)) {
    // This gets you one row at a time, use a while if there are multiple rows
    // while($row = mysqli_fetch_assoc($query_run)){}
    $row = mysqli_fetch_assoc($query_run);
    $count = $row['count'];
    // Do whatever with $count
}

答案 1 :(得分:3)

用证明代码

支持tadman的简明答案

与mysqli不同,PDO有一个长期寻求的mysql_result等价物:

function update_count() {
    global $link;
    $query  = "SELECT `count` FROM `hits_count`";
    $stmt = $link->prepare($query);
    $stmp->execute();
    return $stmt->fetchColumn();
}
echo update_count();

任何人说mysqli并不比PDO差,必须先尝试使用预先准备好的语句将数组绑定到IN()语句中。

答案 2 :(得分:1)

根据php.net mysql_result(),自PHP 5.5.0起不推荐使用。

因此,在这种情况下,您应该使用mysqli_fetch_all()mysqli_result::* class中的其他方法。

答案 3 :(得分:0)

function update_count() {
    global $link;
    $query  = "SELECT `count` FROM `hits_count` ;";
    if(($result = mysqli_query($link, $query)) && $result->num_rows >= 1) {
        $count = 0 ;
        while($row = $result->fetch_assoc()){
          $count+= $row['count'] ;
        }
        echo $count;
    } 
}

通常最好将该链接传递给函数:

function update_count($link) {
    $query  = "SELECT `count` FROM `hits_count` ;";
    if(($result = mysqli_query($link, $query)) && $result->num_rows >= 1) {
        $count = 0 ;
        while($row = $result->fetch_assoc()){
          $count+= $row['count'] ;
        }
        echo $count;
    }
}