加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php切换到mysqli:num_rows问题

发布时间:2020-12-13 17:44:09 所属栏目:PHP教程 来源:网络整理
导读:我最近开始更新一些代码到 MySQL改进的扩展,并且直到这一点已经成功: // old code - works$result = mysql_query($sql); if(mysql_num_rows($result) == 1){ $row = mysql_fetch_array($result); echo $row['data']; }// new code - doesn't work$result =
我最近开始更新一些代码到 MySQL改进的扩展,并且直到这一点已经成功:

// old code - works
$result = mysql_query($sql);
    if(mysql_num_rows($result) == 1){
    $row = mysql_fetch_array($result);
    echo $row['data'];
    }


// new code - doesn't work
$result = $mysqli->query($sql) or trigger_error($mysqli->error." [$sql]"); 
    if($result->num_rows == 1) {
    $row = $result->fetch_array();
    echo $row['data'];
    }

如图所示,我试图使用面向对象的风格.
我没有得到mysqli错误,vardump说没有数据……但db表中肯定有数据.

解决方法

试试这个:

<?php

// procedural style

$host = "host";
$user = "user";
$password = "password";
$database = "db";

$link = mysqli_connect($host,$user,$password,$database);

IF(!$link){
    echo ('unable to connect to database');
}

ELSE {
$sql = "SELECT * FROM data_table LIMIT 1";
$result = mysqli_query($link,$sql);
    if(mysqli_num_rows($result) == 1){
    $row = mysqli_fetch_array($result,MYSQLI_BOTH);
    echo $row['data'];
    }
}
mysqli_close($link);


// OOP style 

$mysqli = new mysqli($host,$database);
$sql = "SELECT * FROM data_table LIMIT 1";
$result = $mysqli->query($sql) or trigger_error($mysqli->error." [$sql]"); /* I have added the suggestion from Your Common Sence */
    if($result->num_rows == 1) {
    $row = $result->fetch_array();
    echo $row['data'];
    }

    $mysqli->close() ;

// In the OOP style if you want more than one row. Or if you query contains more rows.    

$mysqli = new mysqli($host,$database);
$sql = "SELECT * FROM data_table";
$result = $mysqli->query($sql) or trigger_error($mysqli->error." [$sql]"); /* I have added the suggestion from Your Common Sence */
    while($row = $result->fetch_array()) {
     echo $row['data']."<br>";
    }

    $mysqli->close() ;    

?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读