将MySQL连接传递给函数

Pau*_*fer 1 php mysql mysqli function

我试图在主脚本中建立一个MySQL连接,然后根据我想做的事情调用各种函数.我无法将连接信息传递给函数.

我有一个类"查询",其中包含各种函数,所有函数都返回一个数组.这是代码在我的主脚本中的样子(调用函数normal)

$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name) or die (mysql_error());
$stats = $queries->normal($mysqli);
Run Code Online (Sandbox Code Playgroud)

然后在查询资源内部,我有这个代码:

class queries {
    function normal($mysqli) {
        $query = "SELECT number, first, last FROM roster";
        $roster = $mysqli->query($query);
Run Code Online (Sandbox Code Playgroud)

然后我继续做我需要的.我不能让这个工作.我收到了错误

Call to a member function normal() on a non-object
Run Code Online (Sandbox Code Playgroud)

在我调用主文件中的函数的行上.

这与这些问题类似,但我无法弄明白.
在PHP中通过引用传递数据库连接
确保MySQL连接在PHP函数中工作

谢谢

Mat*_*chu 5

$queries不是一个对象,更不是一个queries对象.找出你分配给它的东西,并为它分配正确的东西:)

啊,我想我现在明白了.queries是一个类,而不是一个对象.您需要创建一个对象,该对象是该类的实例.

$queries_obj = new queries;
$queries_obj->normal($mysqli);
Run Code Online (Sandbox Code Playgroud)

  • @phoffer你有没有为变量$ queries分配任何内容? (2认同)