php-op从数据库中选择数据


php oop select data from database

我正在尝试显示存储在数据库中的一些数据,我有这个功能,但我不知道它是如何工作的:

public function resultToArray($result){
        if(is_a($result, 'mysqli_result') && $result->num_rows > 0) {
            $myArrayResult = array ();
            while ($row = $result->fetch_assoc()) {
                $myArrayResult[] = $row;
            }
            return ($myArrayResult);
        }
        else {
            return ("Invalid Formart or Empty Result");
        }
    }

我怎么能在我的前端使用这个?我试过这种方法,但失败了。。。

$listar = new classes_DbManager;
$result ="Select * FROM jobs_offers";
$query = $listar->resultToArray($result);
if(mysqli_affected_rows>0){
    echo $row['username'];
}

如果不查看自定义类的其余部分,我只能猜测您需要在检索结果之前执行该语句。从resultToArray函数来看,它似乎正在调用mysqli_result,这需要一个结果集才能工作。

在首先执行query函数的classes_DbManager类中搜索一些内容,它可能包含类似于$result = $mysqli->query("$sql_query") 的代码

我最好的猜测是它的使用需要这样的东西:

$listar = new classes_DbManager;
$query = "Select * FROM jobs_offers";
$result = $listar->executeQuery($query);
$query = $listar->resultToArray($result);
if(mysqli_affected_rows>0){
    echo $row['username'];
}

我不知道这是什么ORM/数据库管理器,但你几乎做到了。您需要做的是首先实际运行查询。然后将结果传递给函数。

它看起来像这样:

$result = $listar->RUN_THE_QUERY("Select * FROM jobs_offers");
$result_set = $listar->resultToArray($result);

用实际运行/执行查询的方法替换RUN_THE_QUERY


之后,您将能够运行$result_set并将其回显:

if(is_array($result_set)) {
    foreach($result_set as $_result) {
        echo $result['username'];
    }
}

此方法(resultToArray)不运行查询,只从结果中返回关联数组。这个类应该有一个runQuery方法。