mysql 一、 二、安装MySQL 快点行动,拿到这些软件包,仔细研究一下吧。这可不是件容易的事儿。你从获取软件包、编译软件包到安装软件包的过程中都有不少的选择项。我们先从MySQL开始,因为有了它才能运行 三、安装 四、第一个脚本 如果我告诉您真正难过的一关已经过了,您一定会很高兴。软件的安装过程总是无法预料,因为系统跟系统之间可以说是千差万别。不过您运气不错,数据库运行起来,> 五、装载数据库 现在,我们要加入MySQL的内容了。要想知道 六、测试 OK,现在我们已经把数据导入到数据库中了。现在我们来处理这些数据。把下面的文字存入一个文件中,把该文件存在Web服务器的文档目录下,后缀名为. 我来解释一下上面的代码。mysql_connect()函数负责以指定的用户名(本例中用户名是root)连接到指定机器(在本例中机器是本机localhost)上的MySQL数据库。如果您想指定用户口令,您也可以把它送给这个函数。连接的结果保存在变量$db中。 随后,mysql_select_db()函数告诉> 二、 if-else 请看下面的程序。 \n"; echo "姓名住址\n"; do { printf("%s %s%s\n", $myrow["first"], $myrow["last"], $myrow["address"]); } while ($myrow = mysql_fetch_array($result));echo "\n";} else {echo "对不起,没有找到记录!"; }?> 这段程序中包含有不少新内容,不过这些内容都相当简单。首先是mysql_fetch_array()函数。该函数与mysql_fetch_row()十分相近,只有一点不同:使用这个函数时,我们可以通过字段名而不是数组下标来访问它返回的字段,比如$myrow["first"]。这样我们就可以省不少力气了。另外,程序中还加进了do/while循环> 三、 第一个程序脚本 我们刚刚学到了循环语句,下面我们将在一个更加实际一点的例子中看看如何运用它。但是在这之前,您应该知道如何处理Web表格、查询参数串,以及表单的GET方法这里没什么特别的,只是printf函数有些不同。那我们就来仔细研究一下。 首先要注意的是,所有的引号前面都有一个反斜杠。这个反斜杠告诉 四、 向服务器发送数据 现在我们从数据库读取数据已经没有太多困难了。但是怎么反过来向数据库发送数据呢?其实这不是名:姓:住址:职位: 同样要注意$PATH_INFO的用法。就象我在第一课里讲到的,您可以在HTML代码中的任意位置使用 名: 姓: 住址: 职位: 程序现在运行正常,那我们现在就可以取到表格输入的内容,并把它们发送给数据库。 "> 名: 姓: 住址: 职位: 您现在已经向数据库中插入数据了。不过还有很多完善的工作要做。如果用户没有填写某一栏怎么办?在需要填入数字的地方填了文字怎么办?或者填错了怎么办? 别担心。我们一步一步来。>> 五、修改数据 在个教程中,我都把要执行的SQL语句放到一个变量($sql)中,然后才用mysql_query()来执行数据库查询。在调试时这是很有用的。如果程序出了什么问题,您随时可以把SQL语句的内容显示出来,检查其中的语法错误。 我们已经学习了如何把数据插入到数据库中。现在我们来学习如何修改数据库中已有的记录。数据的编辑包括两部分:数据显示 "> 名:"> 姓:"> 住址:"> 职位:"> %s %s\n", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); }}?> 我们刚才是把字段内容写入到相应表格元素中的value属性里,这是相应简单的。我们再往前进一步,使程序可以把用户修改过的内容写回数据库去。同样,我们通过Submit按钮来判断是否处理表格输入内容。还要注意,我们用的SQL语句稍稍有些不同。 "> ">名:"> 姓:"> 住址:"> 职位:"> %s %s\n", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); }}?> 就是这样。在这个程序中已经包含了我们学过所大多数特性。您也已经看到,我们在一个if()条件判别语句中又加了一个if()语句,来检查多重条件。 下面,我们要把所有东西全都加在一起,写出一个很好的程序来。>> 六、完整的程序 在本课结束前,我们要把所有东西加入到一个程序中,使它具有增加、编辑修改、删除记录的功能。这是前面所有内容的一个延伸,也可以作为极好的复习方法。看看下面的程序。 ";} elseif ($delete) {// 删除一条记录 $sql = "DELETE FROM employees WHERE id=$id"; $result = mysql_query($sql); echo "记录删除成功!";} else { // 如果我们还没有按submit按钮,那么执行下面这部分程序 if (!$id) { // 如果不是修改状态,则显示员工列表 $result = mysql_query("SELECT * FROM employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("%s %s \n", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); printf("(DELETE)", $PATH_INFO, $myrow["id"]); } } ?> ">ADD A RECORD "> "> 名:"> 姓:"> 住址:"> 职位:"> 这段程序看起来很复杂,但实际上并不难。程序主要有三个部分。第一个if()语句检查我们是否已经按下了那个“输入信息”的数据提交按钮。如果是,程序再检查$id是否存在。如果不存在,那我们就是在增加记录状态,否则,我们是在修改记录状态。 接下来我们检查变量$delete是否存在。如果存在,我们是要删除记录。注意,第一个if()语句检查的是用POST方法发送来的变量,而这一次我们检查的是GET方法中传递过来的变量。 最后,程序默认的动作是显示员工列表 看到发生了什么事了吗?头文件里的内容被合并到程序中,> 二、 数据校验 想象一下这样的情形:我们把数据库都设计妥当了,现在请用户输入信息来写到数据库中去。假设您有一个字段是要求数字类型的信息,比如价格;而某个可爱的用户,却在这一栏里输入了文字信息,使得您的应用程序的执行过程出现了故障。对您在SQL语句中提供的文字类型的数据,MySQL数据库拒不接受,并向您提出了“严正抗议”。 怎么办呢?您要用数据校验来防止以上状况发生。 简单地讲,数据校验是指我们对数据(通常是用户经由HTML表格传过来的)进行检查,看看它是否遵从一定的规则。规则可以是多种多样的,比如某一数据元素不能为空,或者要求某一数据项的内容必须满足一定的要求(例如前面的例子中要求必须是数字而不是文字,或者要求电子邮件地址中一定要包含一个“@”字等等)。 数据校验既可以在服务器一端作,也可以在客户端来作。第一栏: ">第二栏: "> 这段程序中关键的地方是嵌套的条件判定语句。第一层检查用户是否按了发送数据的按钮。如果是,程序接着检查$first第一栏: ">第二栏: "> 您可以执行一下这段程序,输入六个字或少于六个字的内容。这种校验很简单,但很有效。>> 三、 处理常规表达式 我们稍微讲讲用ereg()> 四、 简便方法 前面的常规表达式怎么样?很有意思,是吧?要是在每个需要检查电子邮件地址的程序里都写上这么一段程序,那才真叫有意思呢?!想想看吧,得写那么乱七八糟的一段程序,还得写上那么多遍!...不过,当然了,还有更简便的方法。 还记得前面我们学过的头文件吗?它能让我们写一段程序,象是这个电子邮件地址的检查程序,然后把这段程序包含进多个程序里面去。这样,我们要改写这段程序时,只须改动一处就行了,不用修改多个文件。 但是,要做到这一点,我们必须用到函数。 我们已经用过很多次函数了。每次我们查询数据库或检查字符串长度时,我们都是用函数来做的。这些函数是 五、进阶技巧 谈起数据库开发,我们有很多东西要学。如果您还没有学习过怎样进行数据库设计,和怎样在不同的平台上可靠地运行数据库,那么请您赶快去找本这方面的好书来读一读。这方面的能力会带给您无法估量的好处,从长远的眼光看,它会为您节省大量的时间与精力。还有,认真学学MySQL。这是一个复杂而有趣的数据库,有很多不错的文档。学学数据库的表结构、数据类型,还有SQL。如果您真正掌握了SQL,您可以完成相当多的实际工作。 最后,还有PHP。您想要的一切几乎都可以在PHP的网站上找到,包括全面的文档、邮件讨论组的讨论内容、程序代码库,等等。学习PHP的一个绝好的办法是研究用户手册中给出的实例,并查阅网上的代码。网友们发表的代码包括许多函数和类,您可以在自己的程序中直接使用,而不必自己从头来过。另外,如果您遇到问题,邮件讨论组是一个非常值得利用的资源。PHP的开发人员自己也会参加邮件讨论组,还有许多经验丰富的高手们,他们都可以帮助您解决问题。 祝您编程顺利,一切顺利 08-29 00:26