PHP基础内容十,PHP与MYSQL结合应用

LAMP15年前 (2010)发布 liyugang
130 0

第十单元 PHP与MySQL综合应用

目标内容:

第29章 PHP与MySQL

第30章 表的结合

第31章 日期时间数据

实例应用:数据库留言簿
 
 
  第29章 PHP与MySQL
 

29.1 PHP与MySQL连接的流程

1)用户浏览器向网页服务器下达命令
2)服务器收到请求并寻找指定网页
3)服务器执行网页内容含的PHP代码
4)PHP代码通过内置Mysql API访问后台数据库服务器
5)取加后台数据库查询结果并返回给用户


PHP与数据库MySQL连接方法:

1.连接函数

mysql_connect()

2.建立数据库

mysql_create_db()

3.查询

1)mysql_db_query() 2)mysql_query()

eg:

 

$select=mysql_select_db('test');

$sql="select * from customers";

$result=mysql_query($sql)|| die("query fail");

4.错误处理

if ($result=mysql_query("sql")){

echo "显示正确信息";

}else{

echo "Error:".mysql_errno().";错误信息:".mysql_error();

}

 

29.2 PHP与Mysql连接函数

一、连接类函数

1.mysql_close() 关闭数据库

int mysql_close([int link_identifier])

 

2.mysql_connect 连接数据库

int mysql_connect([string hostname[:port][:/pathto/socket] [,string username[,string password]]]])

eg:

3.mysql_pconnect()持续连接、

 

4.mysql_select_db 选择数据库

int mysql_select_db(string database_name[,int link_identifier])

成功返回True,失败返回false

eg: $link=mysql_connect();

mysql_select_db("test",$link);

5.mysql_change_user 更改连接用户

 

二、建立或删除数据库类函数

1.mysql_create_db 增加一个数据库

成功返回True,失败返回false

eg:

2.mysql_drop_db 删除数据库

 

三、查询类

1.mysql_query 送出Mysql查询

eg:

2.mysql_db_query与上区别见P308

 

四、处理查询结果

1.mysql_fetch_array 取得查询结果,存入数组中

array mysql_fetch_array(int result[, int result_type])

result_type: 1)mysql_num 2)mysql_assoc 3)mysql_both

eg:

$row=mysql_fetch_array($result);

echo $row['name'];

 

2.mysql_data_seek 移动内部指针

 

3.mysql_field_seek 设置指针的偏移量

 

4.mysql_affected_rows 取得先前操作Mysql时,受影响的行的数目

返回上一个操作真正影响的数据行数(row)

 

5.mysql_free_result 释放查询后的内存

 

6.mysql_num_fields 取得字段的数目

 

7.mysql_num_rows 取得结果中行的数目

 

8.mysql_field_flags 取得指定定做的标志

 

9.mysql_fetch_field 取得字段信息

eg: p315

10.mysql_fetch_object取得查询后的对象结果

返回一个对象,相当于取得的行

while($row=mysql_fetch_object($result)){

echo $row->user_id;

echo $row->fullname;

}

 

11.mysql_fetch_row 取得单行结果

 

12.mysql_field_name 取得字段的名称

 

13.mysql_inser_id 取得之前insert操作的id

 

14.mysql_fetch_lengths 取得各字段的最大长度

 

15.mysql_list_fields 列出字段

 

16.mysql_field_type 取得指定字段的数据类型

 

五、错误处理类

 

1.mysql_errno

 

2.mysql_error

 

六、数据库信息类

 

1.mysql_tablename 取得表名称

 

2.mysql_list_tables 列出数据库中的表

 

3.mysql_list_dbs 列出Mysql服务器上可用的数据库

 

4.mysql_field_table 取得指定字段所在的表名称

 

5.mysql_field_len 取得指定字段的长度

 
 
  第30章程表的结合
30.1 Join 与where

eg: select first_name,order_id from customers as c,orders as O where c.id=O.id;

select first_name,order_id from customers as c inner join orders as O on c.id=O.id;

 

30.2 各类JOIN

1.笛卡尔结合

旧式where语法:select * from customers as c,orders as O;

新式Join 语法:select * from customers as c cross join order as O;

 

2.Left join

select * from customers as c LEFT JOIN orders as O ON C.id=O.id;

 

3.Right Join

select * from customers as c RIGHT JOIN orders as O ON C.id=O.id;

4.Natural left join

上述第二种left join也可改为:

select * from customers as c Natural LEFT JOIN orders as O;

 
 
  第31章 日期时间数据
31.1日期相关数据

1.datetime字段

2.date字段

3.time字段

4.year字段

5.timestamp字段

 

31.2数据类型之间的转换

31.3 Mysql内置日期函数

1.dayofweek(date) 返回日期的星期索引

2.weekday(date) 同上

3.yofmonth(date)返回date中日期部分

4.dayofyear(date)返回一年中的日数

5.Month(date)返回日期中的月份

6.dayName(date) 返回星期

7.monthname(date)返回月份

8.quarter(date) 返回季

9.week(date)或week(date,First)

10.Year(date)返回年份

11.hour(time)

12.minute(time)

13.period_add(P,N)增加N个月到阶段P

14.period_diff(p1,p2)返回时期P1~P2之间的月数

15. date_add(date,intervar expr type)

16.To_days(date) 返回从公元0年起的天数

17.From_days(N)

18.date_format(date,format)格式化

19.time_format(time,format)

20.curdate()或current_date

21.curtime() current_time

22.Now()

23.Unix_timestamp()

24.from_unixtime

25.from_unixtime(unix_timestamp,format)

26.sec_to_time(seconds)

27.time_to_sec(time)

 


实践与操作:
1创建一个数据库留言簿
2.建立一个PHP日历

© 版权声明

相关文章

暂无评论

暂无评论...