php - 这是以类方式或 OOP 访问 mysql 的正确方法吗?

标签 php html mysql

class DBAcess{
    private $_mysql_connection;
    function db_access(){
        $this->_mysql_connection = mysqli_connect('localhost', 'root', 'aaaaa', 'test') or die('cant connect to the db server');
    }
    function display_user($user_id){
        $sql = "SELECT * FROM email WHERE id = '$user_id'";
        $db_handle = mysqli_query($this->_mysql_connection, $sql) or die('cant query db');
        $num_count = mysqli_num_rows($db_handle);
        if($num_count != 1){
            echo 'no record';
        }else{
            while($row = mysqli_fetch_array($db_handle)){
            echo $row['email'];
        }       
        }

    }

}


    $db_operation = new DBAcess();
    $db_operation->db_access();
    $db_operation->display_user(1);

最佳答案

嗯,这要看情况。如果您问这是否是一个好的实践:它会起作用,但是此代码存在一些问题,使其难以维护。 您的数据库类应该只处理连接、运行查询、获取插入的 id 以及辅助方法,例如格式化这些查询的结果等。 您的用户类应该调用数据库类来运行查询并获取用户信息。 您可能还想考虑将数据库凭据移至配置文件中。将它们声明为常量,这样您就可以使用 _DB_SERVER_、_DB_USER_ 等。

关于php - 这是以类方式或 OOP 访问 mysql 的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187059/

相关文章:

php - mcrypt 已弃用,有什么替代方案?

html - Internet Explorer 中的按钮上出现奇怪的白线

html - 将整个包装器 (div) 定位在主包装器 (div) 内

php - 使用php从多个表mysql中删除

php - 自动化 MySQLConverterTool 的 cli.php 的脚本

php - 在帐单地址后的Woocommerce订单接收页面中添加文本

php - 链接不引用 anchor

php - 设置MySQL root密码时无法连接到 'localhost'处的服务器

html - 没有消息时,Bootstrap Alert div 仍然存在

查询中的 MySQL 子位置计数器