喜悦国际村 专业PHP开发者社区's Archiver

游戏人间 发表于 2006-8-18 01:14 PM

PHP菜鸟进阶教程系列------之 第二部分 PHP与MYSQL编

[align=center][b][size=5][color=Red]PHP菜鸟进阶教程系列------之 第二部分 PHP与MYSQL编[/color][/size][/b][/align]

前言:吹嘴部分
一、PHPMYADMIN的配置与使用;
二、PHP+SQL对MYSQL的操作基本;
三、SQL语法基础;
四、表单+PHP+MYSQL常应用实例(配有详细的说明);
附1:总结。

==================================================================================

[align=center][b][size=5][color=LimeGreen]前言[/color][/size][/b][/align]

1、送给超级菜鸟-----无任何基础的鸟鸟们应该从哪里学起PHP?

  [url]http://www.phpx.com/happy/viewthread.php?tid=122138&highlight=[/url]

2、PHP菜鸟进阶教程系列------之 第一部分 PHP基础语法编

  [url]http://www.phpx.com/happy/viewthread.php?tid=122508&highlight=[/url]

  上面是之前写的两篇文章,咱可是第一次写文章(以前写的全是交给老师不用负责任的 @_@ )逻辑没搞好的地方我只能表示呵呵,写的不是一般的乱(能不能看得明白俺写的就得看你的造化了^_^)。

    《 PHP菜鸟进阶教程系列------之 第一部分 PHP基础语法编 》我已经简单的介绍了PHP的基础语法,因为PHP的基础语法并不是很困难,WEB编程对于初学的同学来说几乎最大的困难都集中在了对数据库的操作上,现在我们需要把PHP跟MYSQL数据库结合起来乱讲一通。

  我如果以后还有心思写下去的话我也只写PHP+MYSQL的情况,至于说到PHP+MYSQL是最佳组合什么的废话我就不想提了,说了也没用,好与不好不是我吹了算,还得告时间去证明。

==================================================================================
[align=center][b][size=5][color=LimeGreen]第一章:PHPMYADMIN的配置与使用[/color][/size][/b][/align]

一、PHPMYADMIN的配置(下载的时候最好下载中文版,不然看不明白别怪俺)。

  下面的说明是针对2.8版本且是本地运行的环境下的配置,个人建议使用2.8。

  找到:mysqladmin/libraries/config.default.php

  //写上你phpMyAdmin的访问网址,本地可为:[url]http://localhost/phpmyadmin/[/url]
  $cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';

  //mysql主机地扯,通常写mysql主机的IP,因为是在本地运行,所以用:localhost
  $cfg['Servers'][$i]['host'] = 'localhost';

  $cfg['Servers'][$i]['auth_type'] = 'http'; // 登录方式
  $cfg['Servers'][$i]['user']      = 'root'; // MySQL用户名
  $cfg['Servers'][$i]['password']  = '';     // MySQL数据库密码

二、PHPMYADMIN的使用。

  以下部分图片来源[url]http://blog.yusg.com/read.php?50[/url]
  
1、建数据库。

[align=center][img]http://www.openphp.cn/PCKeditor/userimages/2004112402.gif[/img][align]

  看上图,图的是别人的版本是 2.5.6-rc2 的,但这不影响我们的学习,基本大体理论上差不多有可能就可以看得明白的(不要下个英文版的来问我为什么你看不明白)。

  左边有可以下拉的东东,下拉菜单里的就是你所有的数据库,如图中的有三个数据库。

  现在看右边的“创建一个新的数据库[文档]”,在它附近找到可以输入文字的地方,输入“myweb”后,点击“创建”就可以创建一个数据库了。

2、建数据表。

[align=center][img]http://www.openphp.cn/PCKeditor/userimages/2004112403.gif[/img][align]

  如上图(2.8有点不一样,但我相信你能从这里看明白),名字即数据表名,字段数即为你打算在这个数据表里有多少个字段。

  现在我们要建的表填的是,名字:mytable,字段数:3 ,点击执行后就出现如下窗口了。

[align=center][img]http://www.openphp.cn/PCKeditor/userimages/2004112404.gif[/img][align]

  如上图,第一列的字段即为字段名,类型为该字段的数据类型,长度/值,null即是否允许空值,默认即为默认值......

  一般情况下的“额外”和“主键”有且只有一个是选“auto_increment”和“主键”。

3、插入数据........其它部分你自己慢慢研究,先会这三个动作就好了,以后你再加强吧。

[align=center][img]http://www.openphp.cn/PCKeditor/userimages/2004112406.gif[/img][align]

[align=center][img]http://www.openphp.cn/PCKeditor/userimages/2004112407.gif[/img][align]


==================================================================================
[align=center][b][size=5][color=LimeGreen]第二章:PHP+SQL对MYSQL的操作基本[/color][/size][/b][/align]

[php]
<%

''''''''''''''''''''''''''''''''''打开与数据库的链接'''''''''''''''''''''''''

'在ASP中,用来存取数据库的对象统称ADO(Active Data Objects)
'主要含有三种对象:Connection、Recordset 、Command
'Connection:负责打开或连接数据
'Recordset:负责存取数据表
'Command:负责对数据库执行行动查询命令
'上面这段复制人家的,俺写起来没他们这么专业

dim conn,mdbfile
mdbfile=server.mappath("数据库名称.mdb")
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};uid=admin;pwd=数据库密码;dbq="&mdbfile

''''''''''''''''''''''''''''''''''建立记录集对象'''''''''''''''''''''''''''''
'“记录集对象”这东西可不好解释,而且我们今天也不是要学ASP来着,只是拿让我们把ASP
'与PHP对数据库的操作做个对比而已

set rs=server.createobject("adodb.recordset")
rs.open SQL语句,conn,3,2

'''''''''''''''''''''''''用个循环把数据集中的数据输出'''''''''''''''''''''''''

While not rs.EOF    ' 判断是否已经到数据集的结尾,如果还没到结尾就输出

  response.write rs("name")

rs.movenext         ' 把数据集的指针向后移动一个单位
Wend

''''''''''''''''''''''''''''''''''关闭所数据库的链接'''''''''''''''''''''''''

'关闭与数据库的链接俺忘记啥写了^_^

%>
[/php]

  好好看看上面的代码,有没有什么不对劲的地方?要是感觉很正常的话你就不正常了。

  确实,上面这一段是ASP的代码,我写出来是让我们后面有个对比,可能你会觉得这样容易理解一些。我当年就是这样干的,拿着ASP代码跟PHP代码比。

  ASP对数据库的操作基本上是:打开与数据库的链接 -> 用SQL语句取出数据,建立记录集对象 -> 输出 ->关闭与数据库的链接。而PHP呢,其实也是差不多的了。

  ■●●PHP对mysql数据库的操作步骤:打开与mysql服务器的链接 -> 打开数据库 -> 执行具体sql语句 -> 关闭与服务器的链接.

一、与mysql服务器的链接。

  连接数据库mysql服务器,在php中提供了两个函数:1、mysql_connect(); 2、mysql_pconnect();-->> mysql_connect建立的连接将自动关闭,mysql_pconnect而是一种稳固持久的连接。一般情况下用mysql_connect的比较多,如果你需要使用到mysql_pconnect请自己详细的阅读手册关于这个函数的详细解释。

<?PHP

/*
mysql_connect函数是用来与mysql服务器链接用的。
我们只需要提供:mysql数据库的主机IP(本地用localhost)、数据库用户名、数据库密码。
mysql_connect在打开与服务器链接的同时,返回一个值,我们把这个值赋给变量$connect。
*/

$connect = mysql_connect("localhost","user","password") or die ("数据库打开失败");

/*
mysql_connect如果返回False(0值),则显示“数据库打开失败”,下面的PHP代码将不会再执行下去。
*/

?>


二、打开数据库。

<?PHP

$select = mysql_select_db("myweb",$connect) or die ("数据库打开失败");

?>

三、执行具体sql语句。

<?PHP

// 把sql语句放到变量$sql中
// 插入数据

for ( $I=1; $I<=10; $I++ )
{
       $sql  s= "INSERT INTO `mytable` ( `id` , `username` , `password` )";
       $sql .= " VALUES ( '', '游戏人间".$I."', '00000".$I."' )";
       $query = mysql_query($sql,$connect);
       $query = mysql_query($sql,$connect);
}

// 下面我们来把数据库中的所有数据都显示出来

$sql = "SELECT * FROM `mytable` LIMIT 0 , 30 ";
// LIMIT 0 , 10 表示从第一条数据开始读取,取出10条数据

$query = mysql_query($sql,$connect);

/*
mysql_fetch_array把当前指针所在的数据读取出来、指针向后移动一个单位、并把所得的数据以数组形式返回,下面的部分还增加了把返回的数据赋给$r的操作。
*/
while( $r=mysql_fetch_array($query) ) //返回的数据为真值,即还有数据,则输出
{
       echo 'ID:'.$r["id"].' ';
       echo 'ID:'.$r["username"].' ';
       echo 'ID:'.$r["password"].' <BR>';
}
//当返回的值是0值时,已经再无数据,则退出循环,结束数据的读取。

?>

四、关闭与服务器的链接。

<?PHP

// 如果后面的参数为空,则关闭最近打开的链接
// 最后关闭与服务器的链接
mysql_close($connect);

?>

五、综合以上部分代码:

<?PHP

$connect = mysql_connect("localhost","user","password") or die ("数据库打开失败");
$select = mysql_select_db("myweb",$connect) or die ("数据库打开失败");

for ( $I=1; $I<=10; $I++ )
{
       $sql  = "INSERT INTO `mytable` ( `id` , `username` , `password` )";
       $sql .= " VALUES ( '', '游戏人间".$I."', '00000".$I."' )";
       $query = mysql_query($sql,$connect);
}

$sql = "SELECT * FROM `mytable` LIMIT 0 , 30 ";
$query = mysql_query($sql,$connect);
while( $r=mysql_fetch_array($query) ) //返回的数据为真值,即还有数据,则输出
{
       echo 'ID:'.$r["id"].' ';
       echo 'ID:'.$r["username"].' ';
       echo 'ID:'.$r["password"].' <BR>';
}

mysql_close($connect);

?>


六、更多的实例。

<?PHP

//创建一个数据库,并创建一个数据库,最后插入几条数据

$connect = mysql_connect("localhost","user","password") or die ("数据库打开失败");

//建库
$sql     = "CREATE DATABASE `myweb1`";
mysql_query( $sql );

$select  = mysql_select_db("myweb1",$connect) or die ("数据库打开失败");

//建表
$sql  = "CREATE TABLE `mytable` (`id` INT NOT NULL AUTO_INCREMENT , ";
$sql .= "`name` VARCHAR( 32 ) NOT NULL , `password` VARCHAR( 32 ) NOT NULL ,";
$sql .= "PRIMARY KEY ( `id` ) ) TYPE = MYISAM ";
mysql_query( $sql );

//用循环插入几条数据
for ( $I=1; $I<=10; $I++ )
{
       $sql  = "INSERT INTO `mytable` ( `id` , `username` , `password` )";
       $sql .= " VALUES ( '', '游戏人间".$I."', '00000".$I."' )";
       $query = mysql_query($sql,$connect);
}

//显示数据
$sql = "SELECT * FROM `mytable` LIMIT 0 , 30 ";
$query = mysql_query($sql,$connect);
while( $r=mysql_fetch_array($query) ) //返回的数据为真值,即还有数据,则输出
{
       echo 'ID:'.$r["id"].' ';
       echo 'ID:'.$r["username"].' ';
       echo 'ID:'.$r["password"].' <BR>';
}

mysql_close( $connect );

?>


今天就先写到这里了,还有 SQL语法基础、表单+PHP+MYSQL常应用实例(配有详细的说明)、附1:总结......等,待续

游戏人间 发表于 2006-8-18 01:31 PM

 
  因为写的第一篇就很失败,这次一定要吸教训。

  有看不明白、有错漏的地方请楼下各位指出,不然我自己写错了没事还要去误导他人那才叫悲哀。

  我一向习惯灌水,都已经习惯了什么话都能接受,别人指出我的缺点绝对能接受,各位放心好了。

LuckLrj 发表于 2006-8-18 01:41 PM

安装也要讲啊

游戏人间 发表于 2006-8-18 02:02 PM

要写那个就应该写在前面的了。现在要写的话是不是有点.....^_^

qh663 发表于 2006-8-18 04:31 PM

游戏人间 写了这么多,辛苦你了!

mayi 发表于 2006-8-18 05:25 PM

辛苦了

游戏人间 发表于 2006-8-18 06:54 PM

  写的都是很基础的东西,真的有用大家再顶,不要乱顶,乱顶了我还以为自己写得很不错,其实..........这事很严肃的;P;P

  而且我也不知道村里到底需要的是怎样的一种文章。只是有空多想写几篇也不枉我学过PHP。

1128sky7 发表于 2006-8-20 02:16 PM

师傅辛苦啦!!

虽然你不认识我,但我心里早把你们几个前辈当师傅啦!:p

从你们那里学到好多东西!谢谢了!

Fort 发表于 2006-8-23 01:06 PM

继续写下去吧

luzhou 发表于 2006-8-23 01:57 PM

支持支持!

游戏人间 发表于 2006-8-23 02:38 PM

[quote]原帖由 [i]Fort[/i] 于 2006-8-23 13:06 发表
继续写下去吧 [/quote]
俺也想写下去,可是是上次写到半就到下班时间了,要约左边的MM出去吃饭,因为她要走了,所以也没心情写下去了。

unspace 发表于 2006-8-23 03:02 PM

[quote]原帖由 [i]游戏人间[/i] 于 2006-8-18 06:54 PM 发表
  而且我也不知道村里到底需要的是怎样的一种文章。只是有空多想写几篇也不枉我学过 ... [/quote]

有愿意看的,村里就需要

dreamblaze 发表于 2006-9-4 03:55 PM

顶一个,对了,能不能讲些数据库表的约束,索引之类的知识?多谢多谢~
觉得你讲的比较容易消化~和网上一些太晦涩难懂的文章更适合我们新手

chaizx 发表于 2006-9-6 08:47 AM

怎么还有asp代码呢!

海里一粒沙 发表于 2006-10-26 06:01 PM

谢谢拉 又巩固下 发现这些都懂 可还是没什么进步
看来还是自己动手太少啊
期待

admin888 发表于 2006-10-29 12:37 PM

进阶教程系列------之 第二部分  我也看完了  我现在是不是  就算认识了php呀`````````
还有 谢谢老师~~~~~~~

kof820 发表于 2006-10-30 10:20 AM

[quote]原帖由 [i]游戏人间[/i] 于 2006-8-23 02:38 PM 发表

俺也想写下去,可是是上次写到半就到下班时间了,要约左边的MM出去吃饭,因为她要走了,所以也没心情写下去了。 [/quote]
;P 年轻人啊!:D

sense983 发表于 2006-10-31 06:04 PM

好呀。好呀。

niohe 发表于 2006-11-1 01:52 PM

ASP关闭数据库是conn=nothing 哈哈
另外还有几处笔误,不错,支持!

游戏人间 发表于 2006-11-1 10:47 PM

[quote]原帖由 [i]niohe[/i] 于 2006-11-1 13:52 发表
ASP关闭数据库是conn=nothing 哈哈
另外还有几处笔误,不错,支持! [/quote]
呵呵,不好意思ASP已经忘记得差不多了,都是手写的东西就有点......了...

页: [1] 2

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.