说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

操作MySQL数据库实现简单的留言板-PHP初学入门教程11

HTML文档下载 WORD文档下载 PDF文档下载
通过PHP你可以轻松的连接到数据库,请求数据并将其显示在你的web站点中,甚至修改数据库中的数据。在这一节里我们主要以在互联网上跟PHP一起使用得最多的MySQL数据库为例,介绍一下相关的MySQL数据库的操作函数以及数据库的基本操作等方面的知识。

 

10. PHP最大的特色就是操作数据库的能力特别的强大,PHP提供对多种数据库的支持。

 

  通过PHP你可以轻松的连接到数据库,请求数据并将其显示在你的web站点中,甚至修改数据库中的数据。在这一节里我们主要以在互联网上跟PHP一起使用得最多的MySQL数据库为例,介绍一下相关的MySQL数据库的操作函数以及数据库的基本操作等方面的知识。

 

在MySQL数据库中,我们用来连接数据库的函数有两个,它们分别为:

 

integer mysql_connect(string host,string user,string password);integer mysql_pconnect(string host,string user,string password);
mysql_connect函数和mysql_pconnect函数都是对指定主机上MySQL数据库的连接,如果该数据库位于一个不同的端口,则可以在主机名后加上冒号和端口号。函数的参数也可以缺省不填,如果不填参数,默认的主机名是“localhost”,用户名为数据库管理员,默认值为“root”,密码为空。与数据库连接成功之后,这两个函数都可以返回一个连接号,如果连接失败,则返回一个false值。让我们来看看下面几句语句:
<?$db=mysql_connect("localhost","user","password");mysql_select_db("mydb",$db);?>
注释:
$db=mysql_connect("localhost","user","password"); 我们将mysql的链接参数,包括主机名、用户名和密码作为mysql_connect()的参数,同时得到返回值为$db,这样,在下面的语句中,我们就可以将变量$db作为一个连接mysql数据库的连接号来使用。
mysql_select_db("mydb",$db); 将PHP程序链接到mydb数据库中,这样程序与数据库的链接就完成了。
10.1 一个简易的数据库留言簿
  在完成数据库的链接之后,我们就可以对数据库进行一系列的操作。下面是一个简易的数据库留言簿程序(guestbook.php3):
  我假设你机子上的MySQL数据库以及管理MYSQL数据库的工具 Phpmyadmin_2. 0.5都已经安装完成,并且可以正常工作。
我们要做的第一件事情是创建一个留言数据库,假定名字为: mydb。
1、启动浏览器,打开Phpmyadmin_2. 0.5 的管理WEB界面。
2、在“Create new database”文本框内输入数据库名称mydb,然后按create按键。
  下一步,我们要在该留言数据库下创建一个数据表,假定名字为: guestbook。
创建该数据表的命令如下所示: 
CREATE TABLE guestbook (ID INT NOT NULL AUTO_INCREMENT, name CHAR(250), email CHAR(250), job CHAR(250), comments BLOB, PRIMARY KEY(ID)); 
最后,将下面的留言簿程序挎贝到你机子的可写目录下面,并保存成guestbook.php3文件。就这么简单,你已经有了自己的留言簿了。 
10.2 留言簿程序(guestbook.php3):
<?php /* $host : your MySQL-host, usually 'localhost' *//* $user : your MYSQL-username *//* $password : your MySQL-password *//* $database : your MySQL-database *//* $table : your MySQL-table *//* $page_title : the title of your guestbook-pages *//* $admin_mail : email-address of the administrator to send the new entries to *//* $admin_name : the name of the administrator *//* $html_mail : say yes if your mail-agent can handle HTML-mail, else say no */$host = "localhost";$user = "";$password = "";$database = "mydb";$table = "guestbook";$page_title = "pert guestbook";$admin_mail = "pert@21cn.com";$admin_name = "Webmaster";$html_mail = "no";?><HTML><HEAD><TITLE><?php echo $page_title; ?></TITLE></HEAD><BODY BGCOLOR="#FFFFFF" LINK="#000000"><FONT FACE="Verdana" SIZE="-2"><?/* connect to the database */mysql_pconnect("$host","$user","$password") or die("Can't connect to the SQL-server");mysql_select_db("$database");/* action=view : retrieve data from the database and show it to the user */if($action == "view") {/* function for showing the data */function search_it($name) {/* some vars */global $offset,$total,$lpp,$dir;global $table,$html_mail,$admin_name,$admin_mail;/* select the data to get out of the database */$query = "SELECT name, email, job, comments FROM $table";$result = mysql_query($query);$total= mysql_numrows($result);print "<CENTER><FONT FACE="Verdana" SIZE="-2"><A HREF="guestbook.php3?action=add" onMouseOver="window.status='Add your name';return true" onMouseOut="window.status='';return true" TITLE="Add your name">加入留言</A></FONT></CENTER><br><br>";if ($total== 0) {print "<CENTER>此刻没人留言</CENTER><br><br>"; }elseif ($total> 0) {/* default */$counter=0;if ($dir=="") $dir="Next";$lpp=5;if ($offset==0) $offset=0;if ($dir=="Next") {if ($total > $lpp) {$counter=$offset;$offset+=$lpp;$num=$offset;if ($num > $total) {$num=$total; } }else {$num=$total; } }elseif ($dir=="Previous") {if ($total > $lpp) {$offset-=$lpp;if ($offset < 0) {$offset=0; }$counter=$offset-$lpp;if ($counter < 0)$counter=0;$num=$counter+$lpp; }else {$num=$total; } }while ($counter < $num) {$j=0;$j=$counter + 1;/* now really grab the data */$i1=mysql_result($result,$counter,"name");$i2=mysql_result($result,$counter,"email");$i3=mysql_result($result,$counter,"job");$i4=mysql_result($result,$counter,"comments");$i4 = stripslashes ("$i4");/* print it in a nice layout */print "<CENTER>n";print "<TABLE WIDTH=400 BORDER=0 ALIGN=CENTER VALIGN=TOP><TR><TD><FONT FACE="Verdana" SIZE="-2">n";print "<HR>n";print "<BR><B>Name:</B> $i1n";print "<BR><B>email:</B><A HREF="mailto:$i2" onMouseOver="window.status='Email $i2';return true" onMouseOut="window.status='';return true" TITLE="Email $i2">$i2</A>n";print "<BR><B>Job:</B> $i3n";print "<BR><B>Comment:</B>n";print "<BR>$i4n";print "</FONT></TD></TR></TABLE>n";print "</CENTER>n";$counter++;}}mysql_close();}/* execute the function */search_it($name);/* See if we need to put on the NEXT or PREVIOUS buttons */if ($total > $lpp) {echo("<form action="$PHP_SCRIPT" method="POST">n");/* See if we need a PREVIOUS button */if ($offset > $lpp) {echo("<input type="submit" value="Previous" name=dir>n"); }/* See if we need a NEXT button */if ($offset < $total) {echo("<input type="submit" value="Next" name=dir>n"); }echo("<input type=hidden name="offset" value="$offset">n");echo("<input type=hidden name="name" value="$name">n");echo("</form>");}}/* action=add : show a form where the user can enter data to add to the database */elseif($action == "add") { ?><TABLE WIDTH="460" ALIGN="CENTER" VALIGN="TOP"><TH COLSPAN="2"><P>请您填写留言</TH><FORM NAME="guestbook" ACTION="guestbook.php3?action=send" METHOD="POST"><TR><TD ALIGN="RIGHT" VALIGN="TOP">您的大名:</TD><TD><INPUT TYPE=text NAME=name></TD></TR><TR><TD ALIGN="RIGHT" VALIGN="TOP">您的E-mail:</TD><TD><INPUT TYPE=text NAME=email></TD></TR><TR><TD ALIGN="RIGHT" VALIGN="TOP">您的工作:</TD><TD><INPUT TYPE=text NAME=job></TD></TR><TR><TD ALIGN="RIGHT" VALIGN="TOP">您的留言:</TD><TD><TEXTAREA NAME=comments COLS=40 ROWS=6></TEXTAREA><P><INPUT TYPE=submit VALUE=Submit> <INPUT TYPE=Reset VALUE=Reset> <A ALIGN="RIGHT" HREF="guestbook.php3?action=view" onMouseOver="window.status='Read all comments first';return true" onMouseOut="window.status='';return true" TITLE="Read all comments first"><FONT SIZE="-2">先观看所有的留言</FONT></A></TD></TR></FORM></TABLE></CENTER><?}/* action=send : add the data from the user into the database */elseif($action == "send") {/* check if a HTML-mail should be send or a plain/text mail */if($html_mail == "yes") {mail("$admin_name <$admin_mail>","PHP3 Guestbook Addition","<HTML><BODY><FONT FACE="Century Gothic"><TABLE BORDER="0" WIDTH="100%" CELLSPACING="4"><TR>$name ($email) schreef het volgende bericht in het gastenboek :</TR><TR><TD ALIGN="LEFT"> </TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT">$comments</TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT"> </TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT">您的留言:</TD><TD ALIGN="LEFT" NOWRAP>$name</TD></TR><TR><TD ALIGN="LEFT">您的大名:</TD><TD ALIGN="LEFT" NOWRAP>$email</TD></TR><TR><TD ALIGN="LEFT">您的email:</TD><TD ALIGN="LEFT" NOWRAP>$job</TD></TR><TR><TD ALIGN="LEFT">您的工作:</TD></TR></TABLE></BODY></FONT></HTML>", "From: $name <$email>nReply-To: $name <$email>nContent-type: text/htmlnX-Mailer: PHP/" . phpversion());}/* MySQL really hates it when you try to put things with ' or " characters into a database, so strip these...*/$comments = addslashes ("$comments");$query = "INSERT INTO guestbook VALUES('','$name', '$email', '$job', '$comments')";$result = MYSQL_QUERY($query);?><BR><P ALIGN = CENTER>感谢, <?php echo $name; ?>, 您的留言.<BR><P ALIGN = CENTER><A HREF="guestbook.php3?action=view" onMouseOver="window.status='View your comment now';return true" onMouseOut="window.status='';return true" TITLE="View your comment now">观看留言</A><BR><BR><?}/* if there's no action given, then we must show the main page */else {/* get the number of entries written into the guestbook*/$query = "SELECT name from guestbook";$result = MYSQL_QUERY($query);$number = MYSQL_NUMROWS($result);if ($number == "") {$entry = "还没有人留过言"; }elseif ($number == "1") {$entry = "目前留言人数1人"; }else {$entry = "目前留言人数 $number 人"; }echo "<CENTER><BR>";echo "<P>$entry<BR>";echo "<H4><FONT FACE="Verdana" SIZE="3"><A HREF="guestbook.php3?action=add" onMouseOver="window.status='请您留言';return true" onMouseOut="window.status='';return true" TITLE="Add your name to our guestbook">请您留言</A></FONT></H4>";if ($number > "") {echo "<H4><FONT FACE="Verdana" SIZE="3"><A HREF="guestbook.php3?action=view" onMouseOver="window.status='观看留言';return true" onMouseOut="window.status='';return true" TITLE="View the names in our guestbook">观看留言</A></FONT></H4>"; }echo "</P></CENTER>";}?><BR><SMALL><CENTER>版权所有:<A HREF="http://www.okbase.net">好库网</A></CENTER></SMALL></FONT></BODY></HTML>

 

 

《近匠》Face++:漫谈人脸识别 无线充电技术赛高:随意走动也能电量满格 体验至上!移动Web应用JavaScript UI库App.js 专访中国国航:传统行业的“轻应用观” 开发者找众筹,哪些网站更靠谱? 48小时脑力激荡 中美青年创客大赛英特尔北京选拔赛 “微应用+大平台”推动企业软件走向碎片化 浅谈Hive vs. HBase 十款最新的JavaScript开发工具 JavaScript Promise启示录 百度携多位安全专家深入探讨安全人才快速培养机制 卡饭技术代表严佳:引入安全人才,企业应遵循S.L.E.E.P、S.T.A.R法则 百度资深研发工程师周晓波:平台+数据 百度培养安全人才的重要思路 代码审查是如何抹杀开发者积极性的? 事件分析平台EventHub开源 云计算智能交通行业论坛:李德毅院士谈智能车 多家知名企业分享应用实践 我伙呆!CRM生死对手微软及Salesforce或将联手 阿里巴巴曾鸣:数据时代来临 OpenStack企业应用之路技术培训:虚机迁移、HA、VDI、跨Hypervisor管理 云计算技术背后的那些天才程序员:KVM之父Avi Kivity 中国气象局联手阿里云:海量气象数据变“活数据” 浪潮首度公布“I2I计划” 全面接盘IBM X业务 一周消息树:Surface Pro 3想替代笔记本太难,微软正逐渐迷失方向 就是要赚钱!NativeX推自定义原生广告交易 继智能手机后的下一个战场:智能家居 鏖战云端——亚马逊的生存法则 如何保住公司的人才:创造良好的学习氛围 主宰全球的10大算法 专访Google数据科学家彭晨:大数据成为潮流走近各行各业! 强横Metal技术来袭,能否取代OpenGL? Swift横空出世,Xcode 6 Beta有了哪些新变化? 小case。 请问为什么连接的时候,出现StdAfx.sbr': No such file or directory的情况,怎样消除 请问如何获得目录下所有的文件-69!! 如何用vb写共享程序的注册密码部分? Windows 98下可否运行Tomcat? ???????????为什么没有人回答我,难道没有高人????????? 那一种网络监控软件能将两台进行信息交流的计算机的所有信息监控起来! ScrollWindow有什么用?清高手详细说明! 急!:关于ORACLE9的OEM问题,为什么在OEM中不能进入DBA STUDIO,总是提示搜索不到数据库,请问怎么搜索 八数码问题一定有解吗? 如何写库房盘点部分?(讲原理不要讲代码) 小问题,大家帮我解决一下(类型转换问题) 帮忙看一下这样的.Prj 文件是什么C语言工具生成的。早得我好苦呀 控件签名问题!! 救救我,用VB打包后安装的程序运行出错class not registered!有DBGRID控件 java有什么好? 关于Oracle触发器请教: 在弹出的子窗口关闭的同时,父窗口跳转到另一链接如何做,谢谢! TO:enmity(灵感之源) 如何去掉调用Dll在任务栏产生的图标 ORACLE 8的企业版可以糽一台PC上吗? 急救!1000块钱由1分,2分,5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元的任意组合,可有多少种组合? 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决????? 如何在98下设置默认浏览器? to 吴文智 先生 怎样用Adaptive Server Anywhere6.0发布网络版?PB菜鸟求救.... 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决??? 菜鸟问题,CString 如何转化成整形 !!!在Delphi中不规则窗体的快速显示??? 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决? 请教大侠!!!!vb调用com组件方法时传递参数类型的问题 updatesql出错: 在java中如何生成可单独安装运行的应用程序呀?就像.exe一样! 请问有没有关于C#的源代码或资料的网站呢? 怎样定位access数据库的路径? 在32代码中调用过16DLL的高手请进! 高分请教!!!!急请大侠帮忙!!!!!!!!!!!!!!! 我的电脑有两个内存条(不是一种型号),今天用优化大师优化了一下,结果出现不能启动的现象,请问各位高手如何解决 -???? 请大家出谋:朋友要离了,怎么安慰她? pfc问题 jin_shan(DOS)请进来看看,谢谢!! 大家平时玩什么网络游戏?请留下ID和擅长的游戏(玉笛书生有偿调查) 请帮一个忙? 怎么样在程序里注册OCX控件件? 奇怪,为什么我的电脑在死机后重起就不能浏览我写的asp页面了 各位,我現在到這一步了,下一步要做什麼 怎样把一个 Frame 窗体放进一个Penal 中??? 我编了4年程序,可是我在这里的提问没有一个人的回答让我满意!!!! 搞张jbuilder6破解? 特殊字符串查找 请问Win2k pro的Inetinfo.exe进程怎么占用CPU达99%呀?怎么解决呢? 用碳酸钠滴定盐酸溶液用酚酞作指示剂.为什么当锥形瓶中的溶液由无色变为浅红色时,滴定终点是碳酸氢钠?而不是氯化钠?那位说详细点. 喝氨基酸有什么好处? 1000字 安溪家乡的变化作文1000字 家乡的变化作文 有谁知道 知道的请回答 ,向盐酸溶液中逐滴加入碳酸钠溶液至过量,产生的二氧化碳随盐酸儿变化的关系图像,应该如何画? 几个鸡蛋大约1千克 家乡的味道 作文1000字.ps;家乡在四川,成都 小明按大鸡蛋3角6分,小鸡蛋每个2角8分卖出一批鸡蛋,共收入214元,已知大小鸡蛋的个数的比是8:5,他卖出的大小鸡蛋各有多少个? 大神们……如何让区别硫酸钠溶液和碳酸钠溶液,多种方法 跪求一篇五一劳动节作文五一节游记300字 一个鸡蛋的体积约是多少立方厘米? 碳酸钠滴定盐酸时开始滴定时盐酸是过量的应该生成氯化钠,为什么达到滴定终点时生成的是碳酸氢钠呢? 五一劳动节作文.500字左右. 香蕉水是什么东西? 香蕉水可以擦东西吗? 植物是如何利用氨合成氨基酸的 PH相同的醋酸和盐酸溶液,分别用蒸馏水稀释至原体积的m倍和n倍,稀释后两溶液的PH相同,则m和n的关系是什么,为什么体积相同,浓度为0.1的氢氧化钠溶液,氨水,分别加水稀释m倍和n倍,溶液 “香蕉水”是啥东西? 植物体怎样合成氨基酸? 一个酸性溶液,加水稀释,PH有没有可能为7 松香水是什么东西?是干什么用的? 蛋白质和氨基酸能否在人体内合成?能否长期存在于人体中? 向酸性重铬酸钾溶液中加入蒸馏水稀释,溶液颜色变化为 快乐的寒假作文500字左右, 植物中,氨基酸的产生部位和维生素的合成部位分别在哪?某书上说:“地上部分的生命活动必须依赖地上部分产生的糖类、蛋白质、维生素和某些生长物质,而地上部分的生命活动也必须依赖 两个鸡蛋的体积约80( ) 一台台式显示器的体积大约是0.2( ) 蒸馏水能不能喝拜托各位大神 3千克鸡蛋6元钱,1千克鸡蛋要( )元. 我要写一篇关于狗的作文要300字 取密度为1.17g·mL-¹,质量分数为36.5%的浓盐酸50mL,用蒸馏水稀释至200mL,稀释后盐酸的物质的量浓 家乡从原来到现在环境变化的作文 发烟硝酸是什么? 什么是蒸馏水,平时喝蒸馏水好吗?在屈臣氏买了它家的蒸馏水,喝着不知道有没什么益处,还是说还是矿物质水好? 家乡的环境变化作文 发烟硝酸很难买得到啊,发烟硝酸都是68的加硝酸镁而得的吗?一般市场价是多少? 什么是蒸馏水,平时喝蒸馏水好吗?在屈臣氏买了它家的蒸馏水,喝着不知道有没什么益处,还是说还是矿物质水好? 作文 难忘的小学生活600字以上 一般浓硝酸的物质的量浓度是多少(别说发烟硝酸的)? 目前松节油和松香的价格是多少?所在地的价格,如你知道几个地方的价格那最好. 难忘的小学生活作文(600字左右) 五一见闻作文怎么写五一这一天发生的事 作文,我的五一长假,450字左右 是关于硝酸根离子的.我知道是个4中心.6电子的大π键,但我搞不清楚每个原子之间到底是如何成键的首当其冲的是N原子sp2杂化的时候,2s上的电子到底会不会激发一个到pz轨道上去呢?然后与三 五一见闻 作文怎么写? 外语作文:是否恢复五一长假.130字左右 鸡蛋的大小和什么有关? 五一见闻 作文写事写事的作文,也可以拿出一个例子,就是类似的作文给我举一个好题材 氨基酸叶面肥售价各种氨基酸叶面肥的价格是多少批发价! 为什么鸡蛋有大小? 氨基酸的功效与作用rt 氨基酸叶面肥的制作工艺 1千克鸡蛋有几个? 氨基酸的功效到底有哪些?怎么吃都吃不胖,哈哈………… 氨基酸叶面肥技术指标? 用碳酸钠滴定盐酸,滴定至近终点时加热煮沸后,为什么又要冷却后再滴定至终点? 氨基酸有什么功效 汕头的变化1000字作文 一个鸡蛋多少千克? 打氨基酸有什么好处? 党在我心中作文(通过家乡的变化来描写党)1000字左右.急!我的家乡在平江,写建党以来党对平江做的贡献.(不要写一些很大的话,就写平江原来怎样,后来怎样,当然,要跟党的贡献有关的).不
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn