【问题标题】:php oop select data from databasephp oop 从数据库中选择数据
【发布时间】:2016-09-11 18:09:56
【问题描述】:

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

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'];
}

【问题讨论】:

    标签: php database oop select


    【解决方案1】:

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

    classes_DbManager 类中搜索首先执行query 函数的内容,它可能包含类似于$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'];
    }
    

    【讨论】:

      【解决方案2】:

      我不知道这是什么 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'];
          }
      }
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-08
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          • 2012-07-22
          • 2017-10-20
          相关资源
          最近更新 更多