首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》29.3 建立数据库

关灯直达底部

Warm Mail的数据库相当简单,因为实际上我们并不打算在其中保存任何电子邮件。

我们需要保存系统用户的信息,我们将为每个用户保存如下所示的字段信息:

■用户名——用户期望出现在Warm Mail中的用户名。

■密码——用户期望出现在Warm Mail中的用户密码。

■地址——用户期望出现在From field中的电子邮件地址,该地址将出现在从该系统发出去的电子邮件的From域。

■显示名称——他们想在发送给其他人的邮件中显示的名称。

我们也需要为那些检查该系统的用户存储账户信息。对于每一个账户,必须保存以下信息:

■用户名——该账户所属的Warm Mail用户。

■服务器——该账户所在的机器,例如,本地机或mail.tangledweb.com.au,或其他Domain(域)。

■端口——当使用该账户时连接的端口号。通常,对于POP3服务器来说,这个端口是110,而对于IMAP服务器来说,则是143。

■类型——用来连接到该服务器的协议,POP3或者IMAP。

■远程用户——连接到邮件服务器的用户名。

■远程口令——连接到邮件服务器的口令。

■账户ID——区别账户的唯一标识符。

可以通过运行程序清单29-1中所示的SQL语句来创建这个应用程序的数据库。

程序清单29-1 create_database.sql——用来创建邮件数据库的SQL

create database mail;

use mail;

create table users

(

username char(16)not null primary key,

password char(40)not null,

address char(100)not null,

displayname char(100)not null

);

create table accounts

(

username char(16)not null,

server char(100)not null,

port int not null,

type char(4)not null,

remoteuser char(50)not null,

remotepassword char(50)not null,

accountid int unsigned not null auto_increment primary key

);

grant select,insert,update,delete

on mail.*

to [email protected] identified by'password';

请记住,我们可以通过输入如下所示的命令来执行这个SQL语句:

mysql-u root-p<create_database.sql

我们必须提供root用户密码。此外,还应该在运行以上命令之前修改create_database.sql和db_fns.php中的邮件用户密码。

在本书附带的文件中,我们提供了一个叫做populate.sql的SQL文件。在这个应用程序中,我们没有创建用户注册或管理进程。如果要在一个更大规模的系统上使用该软件,可以自己添加一个。但是如果要作为个人使用,只需要将自己的账户信息插入到数据库中。populate.sql脚本为做这些提供了一个模板,以此将详细信息插入到其中并运行它以便将自己设置为用户。