logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

PHP课程 - 第3.1课 - 使用 MySQL 数据库。创建数据表。

09/10/2025, by Ivan

在上一课中,我们学习了如何与数据库建立连接。本课我们将为我们未来的网站创建数据表。首先,在 simpleCMS 类中添加数据库名称:

class simpleCMS {  // 管理类

  public $host = 'localhost'; // 数据库连接变量
  public $username = 'root';
  public $password = '';
  public $db = 'testDB';

现在我们需要在 MySQL 服务器上创建这个数据库。如果你使用的是 Denwer,本地环境已经包含了 phpMyAdmin。打开 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 的表。

在表名后的括号中定义了表的字段:titlebodytextcreated。每个字段后面都指定了数据类型。VARCHAR(150) 表示最大长度为 150 个字符的字符串,TEXT 表示可以存储整篇文章的文本字段。

现在保存 simpleCMS.php 文件并运行 index.php,这样你就创建了一个名为 messages 的表。

我们将在下一课中开始使用这个表。如果你在过程中遇到任何问题或错误,请在评论中留言。