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