使用PHP不同的Object方法从表中获取所有数据

时间:2017-10-13 06:35:15

标签: php mysql

我试图使用PHP Object方法从数据库获取所有值并获得错误:

  

致命错误:未捕获错误:调用未定义的方法   Calldb :: mysqli_query()in   C:\ XAMPP \ htdocs中\ geomaticxpms \核心\ Alltablevalue.php:13

     

堆栈跟踪:0 C:\ xampp \ htdocs \ geomaticxpms \ manager \ header.php(8):   Alltablevalue-   Getallvalue( '业务')   在第13行的C:\ xampp \ htdocs \ geomaticxpms \ core \ Alltablevalue.php中抛出1 {main}

我有自定义自动加载器文件,它通过PHP包含函数调用所有文件

我使用(Calldb.php)连接数据库:

  class Calldb {
    public $db;
      public function __construct() {
            require_once('config.db.php');
            $this->db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABSE);
            if(mysqli_connect_errno()) {
                echo "Error: Could not connect to database.";
                    exit;
            }
        }
    public function __destruct() {
        mysqli_close($this->db) OR die("There was a problem disconnecting from the database.");
    }
    }

获取所有表格数据(Alltablevalue.php):

class Alltablevalue {
public $db;
public $table;
public $data;
    function __construct($db)
    {
        $this->db = $db;
    }

    function Getallvalue($table){
    $this->table = $table;
    $data =  $this->db->mysqli_query("SELECT * FROM $this->table");
    if($data->num_rows > 0){
    $row = $connect->fetch_assoc();
    return $this->$row;
        }
  else { return false;}
    }
}

输出页面:

include_once('functions.php');
if (!$including) exit("direct access not permitted");
//echo "<pre>";
$db = new Calldb();
$connect = new Alltablevalue($db);

$data = $connect->Getallvalue("business"); // "business" is table name

请指导,以便我可以使它工作。 如果需要,我会提供所有说明。

通过functions.php调用自动加载器类文件

spl_autoload_register(function ($class_name) {
    include $class_name . '.php';
});

1 个答案:

答案 0 :(得分:0)

每个人都感谢你的帮助。我的代码中有错误:

“Alltablevalue.php”中的问题

class Alltablevalue {
public $db;
public $table;
public $data;
    function __construct($db)
    {
        $this->db = $db;
    }

    function Getallvalue($table){
    $this->table = $table;
    $data =  $this->db->db->query("SELECT * FROM $this->table");
    if($data->num_rows > 0){
    $row = $data->fetch_assoc();
    return $row;
        }
  else { return false;}
    }
}