学习笔记:php+mysql

1

基础

 

 

返回类型

mysql_connect()                返回连接资源

mysql_query('select')        返回结果集资源,初始时指针在所有记录之前,可以通过mysql_data_seek()移动指针

2

mysql_fetch

 

 

 

mysql_fetch_array(,)        取出结果集中一行记录,第二个参数是下标类型,默认是MYSQL_BOTH输出索引数组和关联数组,MYSQL_ASSOC返回关联数组,MYSQL_NUM返回索引数组(和mysql_fetch_row()一样),执行后,指针下移

mysql_fetch_assoc()

mysql_fetch_row()

3

取得上次插入数据的id值

 

 

 

int mysql_insert_id(链接资源)

5

移动结果指针---分页的时候会用到

mysql_data_seek() 将指定的结果标识所关联的 MySQL 结果内部的行指针移动到指定的行号,取值范围是0 ~ (mysql_num_rows - 1)

6

影响的行数

 

 

 

int mysql_affected_rows ( [resource link_identifier])功能:返回一次操作影响的行数

7

组合查询

 

 

 

组合查询,使用万能条件屏蔽万能条件造成的注入,可以参考这个分区中的[防止SQL注入]

select * from where 1=1 and id=

8

数据库使用步骤

 

 

 

a)链接数据库

b)选择数据库

c)设置编码

d)发送查询语句

e)取得结果集

f)获取结果行数

g)遍历结果集

9

分页

 

 

a)

将所有数据取出,然后使用mysql_data_seek(),这种方法的特点是,每个页面只与数据库产生一次交互,但是会将所有行取出,造成资源浪费

 

b)

先取出所有符合条件的行数,然后确定一共有多少行,接着使用limit设置取出第几行,这种方法每个页面会与数据库产生两次交互,但是只取出当前要显示的内容

如果记录比较少,可以使用第一种方法,如果记录比较多,使用第二种方法较好

10

文件包含

 

 

 

都包含在第一页,不要第一页包含下一页,下一页包含下一页,否则看不出到底都是包含了那些文件

11

cookie

 

 

 

cookie设置会在临时文件夹下生成cookie文件,但是页面执行完毕后才设置

cookie限制

setcookie()前不能有输出

不同浏览器对cookie处理不一样

有安全性隐患

12

session

 

 

 

session,使用session前先要启动session_start()

PHP4中每个变量都要两条语句,session_register(名);$_SESSION['名']=值;

PHP5中每个变量一条语句$_SESSION['名']=值;取消某个变量,可以使用名=空,或unset()

SESSION声明后可以立即使用,而不像cookie必须执行完页面才生成

session_stop()关闭session,会销毁之前创建的所有session,浏览器关闭会自动销毁,当然也不能跨浏览器

同样session之前不能有任何输出

需要注意的是:PHP5.4开始,已经不再支持session_register()

:

1

 

向上取整ceil(),向下取整floor()

2

超全局变量优先级

php.ini中设置$_REQUEST的重名优先级在variables_order里面设置,右边的比左边的优先级高,所以取cookie,最好使用$_COOKIE

3

用完后释放结果集

mysql_free_result();

mysql_close();

原创作品,请勿转载,如确需转载请保持文章完整并注明出处,谢谢合作。

(许坤,php工程师,PHP工程师,互联网研发工程师,软件工程师)

原文地址:http://www.cnblogs.com/quinnxu/archive/2012/07/18/2597301.html

原文地址:https://www.cnblogs.com/quinnxu/p/2597301.html