PHP课程 - 第3课 - 使用 MySQL 数据库。
你可能觉得现在开始第三课直接学习 MySQL 数据库有点早,但相信我并不是这样。学习 PHP 作为一种 Web 编程语言而不学习它与数据库的交互,就像有一台没有互联网的电脑。你可以在这样的电脑上工作,但却无法获取任何信息。因此,让我们鼓起勇气,即使现在对 SQL 一无所知,也要开始编写数据库查询语句吧。
SQL(Structured Query Language —— “结构化查询语言”)是一种通用的计算机语言,用于在关系型数据库中创建、修改和管理数据。SQL 基于表中记录的集合操作。
PHP 可以与多种数据库一起工作,例如:MySQL、PostgreSQL、Oracle 等等。我们将学习 PHP 与 MySQL 的配合,因为这种组合在网站开发中最为常见。同时,学习 MySQL 的操作也能让你轻松掌握其他数据库的使用,因为 SQL 是一种通用语言,几乎所有关系型数据库的语法都相似。
MySQL 是一种自由的数据库管理系统(DBMS)。MySQL 属于 Oracle Corporation,该公司通过收购 Sun Microsystems 获得了其开发与维护权。MySQL 既可以在 GNU GPL 协议下自由使用,也可购买商业许可证。
关于 SQL 本身,我们之后会有很多课程专门讲解。现在让我们从最基础的内容开始——如何连接数据库。为此,我们在 simpleCMS 类中添加一个新的方法:
public function connectDB() { }
这样我们就可以在代码的任何地方,通过类的对象来调用数据库连接,非常方便。
接下来我们需要定义一些变量来保存 MySQL 服务器地址、数据库用户名和数据库名:
class simpleCMS { public $host = 'localhost'; public $username = 'root'; public $password = '';
这些变量是默认值,以防忘记手动定义。我使用的是 Denwer,本地 MySQL 的默认配置就是这样。如果你使用的是主机托管或独立服务器,请根据你的 MySQL 用户信息进行修改。
现在我们来使用 mysql_connect() 函数建立与 MySQL 的连接:
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); if (!$link) { die('连接错误: ' . mysql_error()); } return $link; }
让我们来分析一下 mysql_connect() 的工作方式。该函数需要传入三个参数:数据库服务器地址、数据库用户名和密码。然后我们使用 die() 函数来输出错误信息,如果连接失败程序会立即停止执行。
变量 $this->host、$this->username 和 $this->password 是类的属性。由于它们已经在类中设置了默认值,因此在调用 connectDB() 方法时无需再单独定义。
mysql_connect() 函数返回一个资源类型变量 $link,类似于文件或目录的资源类型。连接使用完毕后必须关闭以释放内存。成功连接的信息我们可以省略不显示。
现在,在 index.php 文件开头(在引入类文件之后),调用我们的方法:
$obj = new simpleCMS(); // 创建管理类对象 $db_connection = $obj->connectDB(); // 调用数据库连接方法
在任何需要数据库操作的地方,我们都可以包含类文件,创建对象,并通过该对象建立数据库连接。可以看到,操作数据库其实并不复杂。
同样地,在完成数据库操作后我们要关闭连接。使用 mysql_close() 函数关闭连接。我暂时不会为关闭连接单独创建方法(当然,当项目变大时最好添加一个)。这里只需简单添加如下代码:
include_once('class/simpleCMS.php'); // 引入类文件 $obj = new simpleCMS(); // 创建类对象 $db_connection = $obj->connectDB(); // 创建数据库连接 // 一些数据库操作 mysql_close($db_connection); // 关闭连接
我想讲得已经够清楚了。在下一课中,我们将开始编写 MySQL 数据库查询语句。如果还有不明白的地方,请在评论中留言。