【 tulaoshi.com - PHP 】
你应该对 HTML 表单比较了解了,下面的一段代码是一个很简单的 HTML 表单:
< html
< body
< form action=submitform.php3 method=GET
姓 : < input type=text name=first_name size=25 maxlength=25
名 : < input type=text name=last_name size=25 maxlength=25
< p
< input type=submit
< /form
< /body
< /html
当你输入数据,并按下 submit 按钮后,这个表单将把数据发送到 submitform.php3 。再由这个 PHP 脚本来处理收到的数据,下面就是 submitform.php3 的代码:
< html
< body
< ?php
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
mysql_query ("INSERT INTO tablename (first_name, last_name)
VALUES ('$first_name', '$last_name')
");
print ($first_name);
print (" ");
print ($last_name);
print ("< p");
print (" 感谢填写注册表 ");
?
< /body
< /html
在代码的第三行中的 "username" 和 "password" 分别代表你登陆 MySQL 数据库的账号和密码。在第五行中的 "dbname" 表示 MySQL 数据库的名称。在第十三行中的 "tablename" 是数据库中的一个数据表的名称。
当你按下 submit 之后,可以看到你输入的名字被显示在一个新的页面中。再看一看浏览器的 URL 栏,它的内容应该是像这样的:
… /submitform.php3?first_name=Fred&last_name=Flintstone
因为我们用到的是表单 GET 方法,因此数据是通过 URL 来传送到 submitform.php3 的。显然, GET 方法是有局限性的,当要传递的内容很多时,就不能用 GET 了,只能用 POST 方法。但不管用什么方法,当数据传送完成后, PHP 自动的为每一个表单中的字段建立一个和他们的名字(表单的 name 属性)相同的变量。
PHP 变量都已用一个美元符号开头的,这样,在 submitform.php3 脚本处理的过程中,就会有 $first_name 和 $last_name 这两个变量了,变量的内容就是你输入的内容。
我们来检查一下你输入的名字是否真的被输入到数据库中了。启动 MySQL, 在 mysql 提示符下输入:
mysql select * from tablename;
你应该可以得到一个表,内容就是你刚才输入的了:
+------------+------------+
| first_name | last_name |
+------------+------------+
| 柳 | 如风
+------------+------------+
1 rows in set (0.00 sec)
我们再来分析一下 submitform.php3 是如何工作的:
脚本的开始两行是:
mysql_connect (localhost, username, password);
mysql_select_db (dbname);
这两个函数调用用来打开 MySQL 数据库,具体的参数的含义刚才已经说过了。
下面的一行是执行一个 SQL 语句 :
mysql_query ("INSERT INTO tablename (first_name, last_name)
VALUES ('$first_name', '$last_name')
");
mysql_query 函数就是用来对选定的数据库执行一个 SQL 查询。你可以在 mysql_query 函数中执行任何的 SQL 语句。被执行的 SQL 语句必须作为一个字符串用双引号括起来,在其中的变量要用单引号括起来。
有一个要注意的事情: MySQL 的语句要用一个分号 (;) 结束,一行 PHP 代码同样也是这样,但是在 PHP 脚本中的 MySQL 语句是不能有分号的。也就是说,当你在 mysql 的提示符下输入 MySQL 命令,你应该加上分号:
INSERT INTO tablename (first_name, last_name)
VALUES ('$first_name', '$last_name');
但是如果这个命令出现在 PHP 脚本中,就要去掉那个分号了。之所以这样做