我正在尝试创建一个简单易用的单例类来连接到mysql数据库并执行查询,代码可以正常工作,并且我没有任何问题,但是由于我是OOP的新手,所以我想知道这是否是不是坏习惯。
这是课程
class Database {
private $databaseName = 'dbname';
private $host = 'localhost';
private $user = 'user';
private $password = 'pass';
private static $instance; //store the single instance of the database
private function __construct(){
//This will load only once regardless of how many times the class is called
$connection = mysql_connect($this->host, $this->user, $this->password) or die (mysql_error());
$db = mysql_select_db($this->databaseName, $connection) or die(mysql_error());
echo 'DB initiated<br>';
}
//this function makes sure there's only 1 instance of the Database class
public static function getInstance(){
if(!self::$instance){
self::$instance = new Database();
}
return self::$instance;
}
public function connect() {
//db connection
}
public function query($query) {
//queries
$sql = mysql_query($query) or die(mysql_error());
return $sql;
}
public function numrows($query) {
//count number of rows
$sql = $this->query($query);
return mysql_num_rows($sql);
}
}
//Intantiate the class
$database = Database::getInstance();
当我想使用该类时,我会做:
$query = "SELECT * FROM registrations";
echo $database->numrows($query);
$sql = $database->query($query);
单身人士是个坏消息。
您最好改用依赖项注入,因为它可以解决上述问题。
问题内容: 用Java创建单例的最佳方法是什么?数据库连接是否应该是单例连接(单例连接是自动线程安全的)?因为理论上数据库不能被许多用户同时访问。 问题答案: 数据库连接通常不应为单例。 两个原因: 许多数据库驱动程序不是线程安全的。使用单例意味着如果您有多个线程,它们将共享同一连接。单例模式不会给您带来安全感。它仅允许许多线程轻松共享“全局”实例。 就我个人而言,我认为Singleton通常会导
本文向大家介绍PHP连接MySQL数据库操作代码实例解析,包括了PHP连接MySQL数据库操作代码实例解析的使用技巧和注意事项,需要的朋友参考一下 方法一:普通方法(面向过程) 首先,先做出如下假设(也适用与方法二和方法三) 下面是关键步骤: 代码注释已经说明了一切。不过这里还需要做一些补充。 ①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符)
本文向大家介绍myeclipse中连接mysql数据库示例代码,包括了myeclipse中连接mysql数据库示例代码的使用技巧和注意事项,需要的朋友参考一下 1. 环境配置 下载地址:http://www.mysql.com/downloads/mysql/ 真麻烦,下载的话还需要注册和登录以及填个表。上面的信息还挺全的,乱填的信息也是可以接受的~~ 下载后按提示安装即可,最后设置登录mysql
我正在尝试学习PHP,我正在尝试将一个MySQL数据库与我的PHP代码连接起来,以生成一个提交表单,让我将数据输入到数据库中。我的问题是源代码正在连接,但HTML没有将变量发布到PHP文件。我真的需要点帮助。 这是我的HTML源代码 这是我的PHP源代码
本文向大家介绍Java连接Mysql数据库详细代码实例,包括了Java连接Mysql数据库详细代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java连接Mysql数据库详细代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 隔了一段时间没连过数据库,代码都忘记了,网上看了下挺乱的,还是自己记录下好。这里的代码主要是连接数
本文向大家介绍python 连接各类主流数据库的实例代码,包括了python 连接各类主流数据库的实例代码的使用技巧和注意事项,需要的朋友参考一下 本篇博文主要介绍Python连接各种数据库的方法及简单使用 包括关系数据库:sqlite,mysql,mssql 非关系数据库:MongoDB,Redis 代码写的比较清楚,直接上代码 1.连接sqlite 2.连接mysql 2.1使用mysqldb