首页 > 解决方案 > 如何读取数据库?

问题描述

这是core下的config.php文件

<?php

define("WEBSITE_TITLE", 'MY SHOP');

//database details
define('DB_NAME', "eshop_db");
define('DB_USER', "root");
define('DB_PASS', "");
define('DB_TYPE', "mysql");
define('DB_HOST', "localhost");


define('THEME','eshop/');
define('DEBUG', true);
if(DEBUG){
    ini_set('display_errors', 1);
}else{
    ini_set('display_errors', 0);
}
?>

在这里,我将我的数据库名称定义为 eshop_db 和其余数据

这是我在 core 文件夹下的 database.php 文件

<?php 

Class Database{
    public static $con;
    public function __construct()
    {
        try{
 
            $string = DB_TYPE . ":host=".DB_HOST . ";dbname=" . DB_NAME;
            self::$con = new PDO($string,DB_USER,DB_PASS);

        }catch (PDOException $e){

             die($e->getMessage());
        }
    }

    public static function getInstence(){
        if(self::$con){
            return self::$con;
        }
        return $instance = new self();
        // return self::$con;
    }

        //read function 
    public function read($query,$data = array()){
        $stm = self::$con->prepare($query);
        $result = $stm->execute();
        if($result){
            $data = $stm->fetchAll(PDO::FETCH_OBJ);
            if(is_array($data)){

                return $data;

            }
        }
            return false;
    }


    public function write($query,$data = array()){

    }
   
}

$db = Database::getInstence();
$data = $db->read("discribe users");
show($data);

在我的数据库文件中,我首先创建了一个类并创建了数据库连接,还检查了数据库连接。连接似乎正在工作,但是当我尝试读取数据库中的“用户”表时,它没有显示任何内容,文件中也没有错误。

这是我第一次使用 PDO。我正在使用 xampp。在使用 PDO 之前我需要安装任何东西吗?你能帮我解决这个问题吗?

标签: phpmysqlmodel-view-controller

解决方案


$db = Database::getInstence();
$data = $db->read("describe users");
show($data);

感谢@NevilleKuy,它必须是“描述”,以前是“描述”


推荐阅读