当前位置: 首页 > 知识库问答 >
问题:

警告:mysqli_num_rows()要求参数1为给定对象的mysqli_结果

尹超
2023-03-14

我已经使用(MySQLi过程)将我的php分成了2/3部分:第一部分专门用于db(open、execute、Total Row、infected Row、Close…),第二部分专门用于其他功能。以下是一个例子:

db.php(第一个)

<?php
class DB {
var $DBUser = 'myuser';
var $DBPass = 'mypassword';
var $DBServer = 'localhost';
var $DBName = 'myDB';
var $con;

function __construct() {
    $testcon = mysqli_connect($this->DBServer, $this->DBUser, $this->DBPass,$this->DBName);                               

    if (!$testcon) {
      die('Database connection failed: '  . mysqli_connect_error());
    } else {
        $this->con = $testcon;
    }
}

function Qry($sql) {
    if($result = mysqli_query($this->con,$sql) ) {
        return $result;
    }
    else 
    {
        $err = "Error: ".$sql. " :: ". mysqli_error;
        die("$err");
    }
}

function TotRows($result) {
    if($result === false) 
    { 
        die("Error ".mysqli_error); 
    }
    else    return mysqli_num_rows($result);
}

function AffRows($result) {
    return mysqli_affected_rows($result);
}

function LastRow($tblName) {
    return mysqli_insert_id($this->con);
}


function close() {
    mysqli_close($this->con);
}

}
?>

和functions.php(第二个)

public function GetBoolResult($db,$sql) {
        $result=$db->Qry($sql);
        $no_of_rows =  $db->TotRows($db->con);

        if ($no_of_rows > 0) {
            // user exist
            return true;
        } else {
            // user does not exist
           return false;
        }
 }

当我尝试执行脚本时,我得到了以下警告错误:

警告:mysqli_num_rows()期望参数1mysqli_result,对象在db.php

如果您查看此函数以获取行数,则该参数将在函数内部进行测试,sql语句已在mysql服务器中直接测试,没有任何错误。

知道有什么问题吗?

共有1个答案

东方建修
2023-03-14

难道你不想传递结果,而不是连接吗

$result = $db->Qry($sql);
$no_of_rows =  $db->TotRows($result);
 类似资料:
  • 在这种情况下,我的查询工作正常,我已经在mysql上对它们进行了测试。 首先,我有一个自定义查询函数,在MySQLDatabase类中如下所示 然后我有一个类叫用户使用MYSQL类 最后,我以这种方式调用index.php中的方法 以下是一些事实:1。-当我插入数据库中存在的id值时,会出现此警告 警告:mysqli_fetch_array()要求参数1为给定数组的mysqli_结果 2.-当我插

  • 为什么我会收到此错误消息: 警告:mysqli_free_result()期望参数1mysqli_result,给出布尔值 我的代码是:

  • 当试图向会话添加数据(并检查它是否已经存在)时,我会收到以下警告。 警告:in_array()要求参数2为数组,给定null 我怎样才能解决这个问题? 它所指的代码: 我只有在清洁的浏览器上添加第一个产品时才会收到此警告。当我删除它并添加另一个产品时,警告就消失了。同样,如果我添加第二个产品。

  • 我循环两个数组之间的字符串重叠,删除那些有一个值的值,以便只保留$check的空值,在这种情况下是$check[5]。 第二个$check是多维的。 第一个循环通过$names运行,第二个循环通过$check运行。 如果$names()中的当前字符串出现在的当前数组中,则该数组将被删除。 但是,控制台会打印一条警告:希望参数2是数组,如果给定空值。我觉得这很奇怪,因为应该等于$check中的一个数

  • 我得到以下错误 警告:mysqli_error()只需要1个参数,给定0 问题出在代码的这一行: 整个代码是 包含的文件有以下一行

  • 我想连接到一个名为ranch的数据库(使用xampp),并在数据库中插入一些表单数据。浏览器将显示错误: 警告:mysqli_error()期望参数1为mysqli,字符串在第38行的C:\xampp\htdocs\project ect1\register.php中给出 错误:无法执行插入到child_parent('子名','子姓','年龄','性别','姓名','姓氏','地址','tk',