喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

上一主题 下一主题
 21  1/3  1  2  3  > 
     
标题: PHP菜鸟进阶教程系列------之 第二部分 PHP与MYSQL编  
本帖已经被作者加入个人空间
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


UID 62639
精华 2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
PHP菜鸟进阶教程系列------之 第二部分 PHP与MYSQL编

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



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

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

前言



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

  http://www.phpx.com/happy/viewth ... 2138&highlight=

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

  http://www.phpx.com/happy/viewth ... 2508&highlight=

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

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

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

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

第一章:PHPMYADMIN的配置与使用



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

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

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

  //写上你phpMyAdmin的访问网址,本地可为:http://localhost/phpmyadmin/
  $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的使用。

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

[align]

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

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

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

2、建数据表。

[align]

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

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

[align]

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

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

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

[align]

[align]


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

第二章:PHP+SQL对MYSQL的操作基本



<?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

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

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

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

  确实,上面这一段是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:总结......等,待续




 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、饿踢Blog

寧可在嘗試中失敗,也不在保守中成功!

不為失敗找理由,只為成功找方法!
 
2006-8-18 01:14 PM#1
查看资料  访问主页  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


UID 62639
精华 2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] 上上页网址的获取!!!
 
  因为写的第一篇就很失败,这次一定要吸教训。

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

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




 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、饿踢Blog

寧可在嘗試中失敗,也不在保守中成功!

不為失敗找理由,只為成功找方法!
 
2006-8-18 01:31 PM#2
查看资料  访问主页  Blog  发短消息  顶部
 
LuckLrj (中国php中的爱因斯坦)
版主
Rank: 7Rank: 7Rank: 7
老会员


UID 64836
精华 0
积分 2270
帖子 3059
金钱 2270 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2005-6-19
状态 离线
[推荐阅读] 5k-8K诚招成熟PHPER,山东工作
安装也要讲啊



学习,工作累了,请访问我的小站,娱乐一下。http://www.52sunny.net
2006-8-18 01:41 PM#3
查看资料  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


UID 62639
精华 2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] 大家在写后台操作-基本设置 这里是如何存储和调用的
要写那个就应该写在前面的了。现在要写的话是不是有点.....^_^



 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、饿踢Blog

寧可在嘗試中失敗,也不在保守中成功!

不為失敗找理由,只為成功找方法!
 
2006-8-18 02:02 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
qh663
版主
Rank: 7Rank: 7Rank: 7
中级会员


UID 30020
精华 0
积分 546
帖子 580
金钱 546 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2004-7-13
来自 河源
状态 离线
[推荐阅读] CN 1年20,2年39,3年58,4年77,5年96
游戏人间 写了这么多,辛苦你了!



五百多篇PHP学习资料
喜悦村BLOG
php团队接兼职项目QQ:80031807
PHP群:768844
2006-8-18 04:31 PM#5
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
mayi
中级会员
Rank: 3Rank: 3
初级会员


UID 68189
精华 0
积分 332
帖子 344
金钱 332 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-1-20
状态 离线
[推荐阅读] 一个奇怪的现象,请高手分析一下,可能是什么原因?
辛苦了



年过花季,一事无成,名不成,功不就。落了一副近视镜。枕边无妻,膝下无子。耳不鸣,眼不花,成了一付瘦身板
2006-8-18 05:25 PM#6
查看资料  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


UID 62639
精华 2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读] ftp的get问题!
  写的都是很基础的东西,真的有用大家再顶,不要乱顶,乱顶了我还以为自己写得很不错,其实..........这事很严肃的

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




 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、饿踢Blog

寧可在嘗試中失敗,也不在保守中成功!

不為失敗找理由,只為成功找方法!
 
2006-8-18 06:54 PM#7
查看资料  访问主页  Blog  发短消息  顶部
 
1128sky7
中级会员
Rank: 3Rank: 3
初级会员


UID 69010
精华 0
积分 228
帖子 289
金钱 219 喜悦币
威望 0
人脉 9
阅读权限 30
注册 2006-3-2
来自 吉林&黑龙江&北京
状态 离线
[推荐阅读] jsp JSTL问题请大虾解决!
师傅辛苦啦!!

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

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




走PHP的路,任**P说去吧!
2006-8-20 02:16 PM#8
查看资料  发短消息  顶部
 
Fort
注册会员
Rank: 2



UID 78868
精华 0
积分 73
帖子 70
金钱 73 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-8-23
状态 离线
[推荐阅读] 新手写留言本遇到的问题,请指教
继续写下去吧
2006-8-23 01:06 PM#9
查看资料  Blog  发短消息  顶部
 
luzhou (luzhou)
金牌会员
Rank: 6Rank: 6
资深会员



UID 22070
精华 0
积分 1048
帖子 1037
金钱 1048 喜悦币
威望 0
人脉 0
阅读权限 70
注册 2003-7-28
状态 离线
[推荐阅读] 招聘php程序员.及网页设计(上海)
支持支持!



自在的PHPer~
2006-8-23 01:57 PM#10
查看资料  发短消息  顶部
 21  1/3  1  2  3  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.044110 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP