PHP新手上路(11)

绯人jin

绯人jin

2016-02-19 17:43

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享PHP新手上路(11)教程,希望对大家能有一点小小的帮助。

  数据库链接

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  通过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。

  创建该数据表的命令如下所示:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

  

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";?HTMLHEADTITLE?php echo $page_title; ?/TITLE/HEADBODY 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 "CENTERFONT 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/CENTERbrbr";if ($total== 0) {print "CENTER此刻没人留言/CENTERbrbr"; }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 "CENTERn";print "TABLE WIDTH=400 BORDER=0 ALIGN=CENTER VALIGN=TOPTRTDFONT FACE="Verdana" SIZE="-2"n";print "HRn";print "BRBName:/B $i1n";print "BRBemail:/BA HREF="mailto:$i2" onMouseOver="window.status='Email $i2';return true" onMouseOut="window.status='';return true" TITLE="Email $i2"$i2/An";print "BRBJob:/B $i3n";print "BRBComment:/Bn";print "BR$i4n";print "/FONT/TD/TR/TABLEn";print "/CENTERn";$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=dirn"); }/* See if we need a NEXT button */if ($offset  $total) {echo("input type="submit" value="Next" name=dirn"); }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请您填写留言/THFORM NAME="guestbook" ACTION="guestbook.php3?action=send" METHOD="POST"TRTD ALIGN="RIGHT" VALIGN="TOP"您的大名:/TDTDINPUT TYPE=text NAME=name/TD/TRTRTD ALIGN="RIGHT" VALIGN="TOP"您的E-mail:/TDTDINPUT TYPE=text NAME=email/TD/TRTRTD ALIGN="RIGHT" VALIGN="TOP"您的工作:/TDTDINPUT TYPE=text NAME=job/TD/TRTRTD ALIGN="RIGHT" VALIGN="TOP"您的留言:/TDTDTEXTAREA NAME=comments COLS=40 ROWS=6/TEXTAREAPINPUT TYPE=submit VALUE=Submit INPUT TYPE=Reset VALUE=ResetA 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","HTMLBODYFONT FACE="Century Gothic"TABLE BORDER="0" WIDTH="100%" CELLSPACING="4"TR$name ($email) schreef het volgende bericht in het gastenboek :/TRTRTD ALIGN="LEFT" /TDTD ALIGN="LEFT" NOWRAP /TD/TRTRTD ALIGN="LEFT"$comments/TDTD ALIGN="LEFT" NOWRAP /TD/TRTRTD ALIGN="LEFT" /TDTD ALIGN="LEFT" NOWRAP /TD/TRTRTD ALIGN="LEFT"您的留言:/TDTD ALIGN="LEFT" NOWRAP$name/TD/TRTRTD ALIGN="LEFT"您的大名:/TDTD ALIGN="LEFT" NOWRAP$email/TD/TRTRTD ALIGN="LEFT"您的email:/TDTD ALIGN="LEFT" NOWRAP$job/TD/TRTRTD ALIGN="LEFT"您的工作:/TD/TR/TABLE/BODY/FONT/HTML", "From: $name $emailnReply-To: $name $emailnContent-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);?BRP ALIGN = CENTER感谢, ?php echo $name; ?, 您的留言.BRP ALIGN = CENTERA HREF="guestbook.php3?action=view" onMouseOver="window.status='View your comment now';return true" onMouseOut="window.status='';return true" TITLE="View your comment now"观看留言/ABRBR?}/* 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 "CENTERBR";echo "P$entryBR";echo "H4FONT 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 "H4FONT 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";}?BRSMALLCENTER版权所有:A HREF="http://personal.668.cc/haitang/index.htm" onMouseOver="window.status='pert';return true" onMouseOut="window.status='';return true" TITLE="pert"无边天际/A/CENTER/SMALL/FONT/BODY/HTML

展开更多 50%)
分享

猜你喜欢

PHP新手上路(11)

Web开发
PHP新手上路(11)

PHP新手上路(14)

Web开发
PHP新手上路(14)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

PHP新手上路(8)

Web开发
PHP新手上路(8)

PHP新手上路(十)

PHP
PHP新手上路(十)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

PHP新手上路(1)

Web开发
PHP新手上路(1)

PHP新手上路(12)

Web开发
PHP新手上路(12)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

关于MSSQL SERVER 2005中数据乱码的问题

关于MSSQL SERVER 2005中数据乱码的问题

你是我的独家记忆 - QQ图案分组

你是我的独家记忆 - QQ图案分组
下拉加载更多内容 ↓