Web数据库实例(php&mysql)

Web数据库实例

 

下一节我们开始学习一步步创建基于Web的数据库。首先,我们先建立数据库,并装入一些数据。完成这步后,我们就新建一些PHP 脚本,和数据库通信并看看全过程。

 

 

创建数据库

确认运行着MySQL服务器进程。如果没有的话,请手动启动它:

# /etc/rc.d/init.d/mysql start

现在我们以MySQL客户程序的管理员身份启动它,这次我们将看到需要输入密码的提示:

# mysql -u root -p
Enter password: newpassword
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 13 to server version: 3.22.21
Type 'help' for help.
mysql>

新建数据库

用命令:create database example 新建一个叫example的数据库。当使用MySQL客户程序的时候,请记住 在每个命令结束时加上;(分号)

mysql> create database example;
Query OK, 1 row affected (0.03 sec)
mysql> use example;
Database changed

新建一个表

在名字叫example的数据库中建立一个叫mytable的表:

mysql> CREATE TABLE mytable (
-> name CHAR(30),
-> phone CHAR(10)
-> );
Query OK, 0 rows affected (0.00 sec)

小技巧:很多Linux系统都使用bashShell,它可以显示你使用过的命令的历史,只需要用上下键即可,这样你可以节省很多时间去输入复杂的命令。

添加数据

现在我们向数据库输入些数据。例如向表中插入一些条目,以下是操作步骤:

mysql> INSERT INTO mytable VALUES ("Homer Simpson", "555-1234");
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO mytable VALUES ("Bart Simpson", "555-4321")
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Lisa Simpson", "555-3214");
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Marge Simpson", "555-2314");
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO mytable VALUES ("Maggie Simpson", "555-3142");
Query OK, 1 row affected (0.00 sec)

确认通过SELECT指令可以看到所有信息:

mysql> SELECT * FROM mytable;
+----------------+----------+
| name           | phone     |
+----------------+----------+
| Homer Simpson  | 555-1234 |
| Bart Simpson   | 555-4321 |
| Lisa Simpson   | 555-3214 |
| Marge Simpson  | 555-2314 |
| Maggie Simpson | 555-3142 |
+----------------+----------+
5 rows in set (0.00 sec)

 

 

新建数据库用户

我们已经建立了一个数据库并且输入了一些数据。现在必须新建一个用户帐号以便可以访问数据库,并且用GRANT命令赋予此用户特权:

mysql> GRANT usage
-> ON example.*
-> TO webuser@localhost;
Query OK, 0 rows affected (0.15 sec)

此后就创建了一个新用户叫:webuser,这个用户只能从localhost连接到数据库并可以连接到example 数据库。下一步,我们必须指定webuser这个用户可以执行哪些操作:

mysql> GRANT select, insert, delete
-> ON example.*
-> TO webuser@localhost;
Query OK, 0 rows affected (0.00 sec)

此操作使webuser能够在每一个example数据库中的表执行SELECTINSERTDELETE等查询操作。现在我们结束操作并退出MySQL客户程序:

mysql> exit
Bye

 

 

创建完数据库后,我们可以使用PHP程序取出example数据库内部的数据并以HTML格式输出。

新建PHP脚本

为了使工作简单化,我们仅仅编写2个脚本。其中一个将所有的数据库条目都以列表的形式显示出来;另外一个则允许我们增加新的内容。

index.php3

在你的Web目录(通常是Apachehtdocs 或者html目录)下新建一个叫example的目录:

# cd /home/httpd/htdocs
# mkdir example

接着,在此目录下用任意的文本编辑器编写一个叫index.php3PHP3脚本,其内容至少是:


Web Database Sample Index


Data from mytable

mysql_connect("localhost", "webuser", "");
$query = "SELECT name, phone FROM mytable";
$result = mysql_db_query("example", $query);

if ($result) {
  echo "Found these entries in the database:

    ";
      while ($r = mysql_fetch_array($result)) {
         $name = $r["name"];
         $phone = $r["phone"];
         echo "
  • $name, $phone";
         }
         echo "
";
} else {
     echo "No data.";
}
mysql_free_result($result);
?>

Add new entry

 

add.php3

然后在同样目录下新编辑一个叫add.php3的脚本。此脚本完成两样事情:一:它会显示信息,提示用户向数据库添加数据;二:它会将输入的信息添加到数据库。


Web Database Sample Inserting

mysql_connect("localhost", "webuser", "");

if (isset($name) && isset($phone)) {
   $query = "INSERT INTO mytable VALUES ('$name', '$phone')";
   $result = mysql_db_query("example", $query);

if ($result) {
      echo "

$name was added to the database

";
   }
}
?>

Add an entry



Name:

Phone:


Back to index

编写完简单又高效的脚本后,现在该测试它了。

 

你可能感兴趣的:(Web数据库实例(php&mysql))