函数getResult调用

时间:2013-07-07 22:32:31

标签: php mysql mysqli

我正在努力将我的功能从MySQL转移到MySQLi标准。

这是我对getresult的旧功能

  function getResult($sql) {
            $result = mysql_query($sql, $this->conn);
            if ($result) {
                return $result;
            } else {
                die("SQL Retrieve Error: " . mysql_error());
            }
        }

但是,我一直关注mysqli_query函数的W3schools。这是我现在的位置。

 function getResult($connection){
        $result = mysqli_query($connection->conn);
        if ($result) {
            return $result;
        } else {
            die("SQL Retrieve Error: " . mysqli_error());
        }
    }

现在,W3schools上的示例与我想要使用mysqli_query的方式略有不同。我试图将它指向我的数据库,而不是W3S上的示例中的一些输入或常量。

Notice: Trying to get property of non-object in C:\xampp\htdocs\cad\func.php on line 92

Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\cad\func.php on line 92

Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\cad\func.php on line 96
SQL Retrieve Error:

谢谢

2 个答案:

答案 0 :(得分:1)

从PHP帮助文件中我找到了这些函数定义

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
string mysqli_error ( mysqli $link )

mysqli_query()将链接和实际查询作为必需参数,mysqli_error也将链接作为一个链接。

http://php.net/manual/en/mysqli.query.php

http://www.php.net/manual/en/mysqli.error.php

答案 1 :(得分:1)

您的版本不会因多种原因而起作用,其中最重要的原因是您没有包含要发送的查询。假设$ this-> conn以某种方式正确设置,请尝试:

 function getResult($sql) {
        $result = mysqli_query($this->conn, $sql);  //Note parameters reversed here.
        if ($result) {
            return $result;
        } else {
            die("SQL Retrieve Error: " . mysql_error());
        }
    }