滚动
          
        PHP课程 - 第3.1课 - 使用 MySQL 数据库。创建数据表。
在上一课中,我们学习了如何与数据库建立连接。本课我们将为我们未来的网站创建数据表。首先,在 simpleCMS 类中添加数据库名称:
class simpleCMS {  // 管理类
  public $host = 'localhost'; // 数据库连接变量
  public $username = 'root';
  public $password = '';
  public $db = 'testDB';
现在我们需要在 MySQL 服务器上创建这个数据库。如果你使用的是 Denwer,本地环境已经包含了 phpMyAdmin。打开 phpMyAdmin 并创建一个新数据库:

现在我们已经配置了数据库并创建了它。接下来,让我们修改 PHP 代码以连接到 MySQL 服务器。更新数据库连接方法如下:
  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // 连接到 MySQL 服务器
	if (!$link) {
		die('连接错误: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("找不到数据库: " . mysql_error()); // 选择数据库
	return $link;
  }
如果一切正常,页面上不会输出任何错误信息。现在我们来创建数据表。为此,添加一个新的方法 buildDB(),并在 connectDB() 方法中调用它:
  public function connectDB() {
	$link = mysql_connect($this->host, $this->username, $this->password); // 连接 MySQL
	if (!$link) {
		die('连接错误: ' . mysql_error());
	}    
	mysql_select_db($this->db) or die("找不到数据库: " . mysql_error()); // 选择数据库
        $this->buildDB(); // 在同一个类中调用另一个方法
	return $link;
  }
  
  public function buildDB(){
  
  }
现在,每次连接数据库时,我们都可以在 buildDB() 方法中检查是否存在所需的表。我们将向数据库发送一个 SQL 查询:
  public function buildDB(){
    $sql = 'CREATE TABLE IF NOT EXISTS messages ( 
			  title		VARCHAR(150),
			  bodytext	TEXT,
			  created		VARCHAR(100)
			)';
			
    return mysql_query($sql);    
  }
现在让我们来分析它是如何工作的。
首先,我们将 SQL 查询写入一个字符串变量,然后将该变量传递给 mysql_query() 函数,该函数负责向数据库发送查询。
SQL 查询以 CREATE TABLE(创建表)语句开头。接着通过 IF NOT EXISTS 检查表是否已经存在,这里我们创建的是名为 messages 的表。
在表名后的括号中定义了表的字段:title、bodytext、created。每个字段后面都指定了数据类型。VARCHAR(150) 表示最大长度为 150 个字符的字符串,TEXT 表示可以存储整篇文章的文本字段。
现在保存 simpleCMS.php 文件并运行 index.php,这样你就创建了一个名为 messages 的表。
我们将在下一课中开始使用这个表。如果你在过程中遇到任何问题或错误,请在评论中留言。