php与mysql数据库cookie Session 分页学习笔记

下面整理了是一些在学习php mysql中我们一些常用的知识点,包括有分页,连接数据库及时登录与文件上会以的知识点,希望对各位有帮助.

  1. <?php
  2. $con = mysql_connect("localhost","root","222222");
  3. if (!$con)
  4. {
  5. die('Could not connect: ' . mysql_error());
  6. }
  7. echo "成功"
  8. //mysql_close($con); 关闭连接
  9. //var_dump($row); 打印出来
  10. //print_r(); 打印出来 没有上面功能强
  11. -------------------------------------------
  12. strlen("Hello world!"); //用于计算字符串的长度。
  13. strpos("Hello world!","world"); //用于在字符串内检索一段字符串或一个字符。
  14. -------------------------------------------
  15. 介绍数据库中常用字段类型
  16. //整数型:TINYINT,SMALLINT,INT,BIGINT
  17. //小数型:FLOAT,DOUBLE,DECIMAL(M,D)
  18. //字符型:CHAR,VARCHAR
  19. //日期型:DATETIME ,DATE,TIMESTAMP
  20. //备注型:TINYTEXT ,TEXT ,LONGTEXT
  21. //sql语句 大小写不敏感(系统的尽量大写)
  22. CREATE TABLE `test` ( //需要把整理设置成utf8_general_ci
  23. `id` int(10) NOT NULL auto_increment,
  24. `uid` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '0',
  25. `regdate` date NOT NULL,
  26. `remark` text NULL,
  27. PRIMARY KEY (`id`) //id为主键关键贞
  28. )
  29. //NOT NULL 不能为空 www.111cn.net
  30. //auto_increment 自动累加
  31. //varchar(10) default '0' 10个字符长度默认为0
  32. -------------------------------------------
  33. SELECT查询语句
  34. //SELECT 查询字段 FROM 表名 WHERE 条件
  35. 查询字段 : 可以使用通配符 * ,字段名,字段别名
  36. 表名:数据库.表名,表名
  37. 常用条件 :=等于,<>不等于,in包含,not in 不包含,like匹配
  38. BETWEEN在范围,not BETWEEN不在范围<,>
  39. 条件运算:and ,or ,()
  40. //eg: SELECT id, uid FROM `test` WHERE 1;指定查询id uid
  41. 别名使用
  42. //SELECT remark as r FROM `test` WHERE 1 别名使用 r 代替 remark
  43. =等于
  44. //SELECT * FROM `test` WHERE id=2; 查询id=2的
  45. <>不等于
  46. //SELECT * FROM `test` WHERE id<>2 查询id不等于2 的
  47. in包含
  48. //SELECT * FROM `test` WHERE id in(1,2,4);查询包含1,2,4的信息
  49. not in 不包含
  50. //SELECT * FROM `test` WHERE id not in (1,2,3);查询不包含1,2,3的信息
  51. like匹配
  52. //SELECT * FROM `test` WHERE `uid` like '%王%'; %是前后匹配,匹配到所有姓王的 `uid`是varchar 字符型要加上``
  53. BETWEEN在范围
  54. //SELECT * FROM `test` WHERE id BETWEEN 1 and 3 查询1-3这个范围内所有的信息
  55. not BETWEEN不在范围
  56. //SELECT * FROM `test` WHERE id not BETWEEN 1 and 3 查询不在1-3这个范的信息
  57. 多条件
  58. //SELECT * FROM `test` WHERE 吕辉' 多个条件查询,查询id=2并且uid=吕辉 的信息
  59. ---------------------------------------------------------
  60. 注:以下三个方法语句顺序不能乱; group by - order by - limit
  61. 分组语句:group by 字段(这里不需要条件语句)
  62. //SELECT * FROM `test` group by `remark`
  63. 排序语句:order by 字段 ,字段ASC(正序)/DESC(倒序)
  64. //SELECT * FROM `test` order by `regdate` DESC 倒序查询最新注册的
  65. //SELECT * FROM `test` order by `regdate` DESC , id ASC 注册日期倒序,id正序查询
  66. 指针查询:limit 初始值,结束值(这里不需要条件语句)
  67. //SELECT * FROM `test` limit 0,3 查询0到3条信息
  68. //SELECT * FROM `test` limit 4 (等同上,省略掉0,初始值省略)
  69. ---------------------------------------------------------
  70. 计算:
  71. COUNT(*)统计函数
  72. MAX(*)最大值函数
  73. MIN(*)最小值函数
  74. AVG(*)平均值函数
  75. SUM(*)累计值函数(∑)
  76. //SELECT MIN(id) FROM `test` WHERE 1 查询最小值的Id
  77. ---------------------------------------------------------
  78. insert插入语句
  79. //insert into 表名(字段...,...)values(值..,...);规范的
  80. //insert into 表名values(值..,..);不推荐使用
  81. eg:
  82. //insert into test (`id`,`uid`,`regdate`,`remark`) values('','张三',now(),'工人') id是auto++的可省略,now()系统现在时间
  83. //insert into test values('','李四',now(),'学生') 同样可以插入,但不推荐使用
  84. Update更新语句(不需要FROM)
  85. //UPDATE 表名 SET 字段 = 值 WHERE 条件 limit(可省略)
  86. eg:
  87. //update test set u where id=6 更新id=6的uid=php200
  88. Delete 删除语句(删除是无法恢复的)
  89. //DELETE FROM 表名 WHERE 条件 limit(可省略)
  90. eg:
  91. delete FROM test WHERE id=3 删除id=3 的信息 (尽量少使用,)
  92. -------------------------------------------------------------
  93. 其他常用Mysql函数介绍
  94. mysql_num_rows() //用于计算查询结果中共多少条信息
  95. //$sq = " SELECT * FROM messages order by id DESC "; //查找数据表并倒序
  96. //$sque = mysql_query($sq);
  97. //echo mysql_num_rows($sque);
  98. mysql_insert_id //传回最后一次使用 INSERT 指令的 ID。
  99. mysql_tablename //取得数据库名称
  100. mysql_error //返回错误信息
  101. mysql_close //关闭 MySQL 链接
  102. ----------------------------------------------------------
  103. isset($views) //判断变量是否存在
  104. function_exists() //判断函数是否存在
  105. 两种查询函数array / row区别
  106. //mysql_fetch_row(result);(不常用)
  107. //mysql_fetch_array($sque,MYSQL_ASSOC);(常用)
  108. //以上二种需配合while($row=mysql_fetch_array($sque,MYSQL_ASSOC)){}循环使用才能输出数据库全部内容;
  109. 延时跳转
  110. header("Refresh:5;url=login.php");
  111. ----------------------------------------------------------
  112. str_relace(被替换的值,替换的值,被替换的内容)
  113. $lin='ss sd df';
  114. //str_relace(" ","&nbsp;",$lin);替换空格
  115. function htmtocode($con) {空格和换行替换成html标签
  116. // $con=str_replace("n","<br>",str_replace(" ","&nbsp;",$con));
  117. // return $con;
  118. }
  119. ------------------------------------------------------------
  120. htmlspecialchars格式化html
  121. //主要功能是将html格式化,防止在输出html时被浏览器执行;
  122. //htmlspecialchars(所要格式化对象,定义单双引号,编码)
  123. ------------------------------------------------------------
  124. setcookie("TEST","value",3600,"/dir",".domains.com",true);
  125. //TEST cookie名
  126. //value cookie值
  127. //3600 保存时间
  128. //dir cookie保存路径
  129. //.domains.com 起效域名
  130. //true https 发送
  131. //注意:使用php cookie当场不能生效,需要刷新一次
  132. ----------------------------------
  133. PHP会话Session的具体使用方法解析
  134. //PHP会话Session与Cookie的最大不同之处是,其实存储在服务器端的,对于远程用户来说,
  135. //是无法对PHP会话Session文件的内容进行任何修改的。
  136. 开始 PHP Session
  137. //详细 http://www.w3school.com.cn/php/php_sessions.asp
  138. session_start(); //1,启动必须在html标签前面
  139. $_SESSION['views']=1;//2,设置
  140. $_SESSION[''];//3,获取
  141. unset($_SESSION['views']);//4,删除
  142. session_destroy()//,彻底终结 将重置 session,您将失去所有已存储的 session 数据。
  143. isset() //函数检测是否已设置 "views" 变量
  144. //if(isset($_SESSION['views']))
  145. file_exists("welcome.txt") //检测文件是否存在
  146. ------------------------------------------------------------
  147. PHP+MYSQL分页原理
  148. 1.SQL语句中的limit用法
  149. 分页原理
  150. //所谓分页显示,也就是将数据库中的结果集,分成一段一段来显示
  151. 需要的条件
  152. //前10条记录:select*form table limit 0,10
  153. //第11至20条记录:select * from table limit 10,10
  154. //第21至30条记录:select * from table limit 20,10
  155. 公式:
  156. (当前页数-1)*每页条数,每页条数
  157. // select * from table limit($Page-1)*$PageSize,$PageSize
  158. ----------------------------------------------------------
  159. parse_url()
  160. //是将URL解析成为固定键值名称的数组和函数
  161. ---------------------------------------------
  162. $_SERVER["REQUEST_URI"];
  163. //REQUEST_URL的作用是取得当前URL,也就是除域名外后面的完整的地址路径;
  164. eg:
  165. // http://www.php100.com/home.php?id=22&cid=21
  166. //echo $SERVER["REQUEST_URI"]
  167. //结果为:/home.php?id=22&cid=21
  168. --------------------------------------------------------
  169. PHP上传原理及应用
  170. 1、FORM标签enctype属性
  171. 2、$_FILES 系统函数
  172. 3、move_uploaded_file函数
  173. 4、is_uploaded_file 函数
  174. ---------------------------------------------------------
  175. fopen() 函数用于在 PHP 中打开文件。
  176. //fopen("welcome.txt","r");
  177. // 模式 描述
  178. // r 只读。在文件的开头开始。
  179. // r+ 读/写。在文件的开头开始。
  180. // w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
  181. // w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
  182. // a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
  183. // a+ 读/追加。通过向文件末端写内容,来保持文件内容。
  184. // x 只写。创建新文件。如果文件已存在,则返回 FALSE。
  185. // x+
  186. // 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
  187. // 注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。
  188. //如果 fopen() 不能打开指定的文件,下面的例子会生成一段消息:
  189. //$file=fopen("welcome.txt","r") or exit("Unable to open file!");
  190. fclose() 函数用于关闭打开的文件。
  191. //$file = fopen("test.txt","r"); fclose($file);
  192. feof() 函数检测是否已达到文件的末端 (EOF)。
  193. 在循环遍历未知长度的数据时,feof() 函数很有用。
  194. //if (feof($file)) echo "End of file";
  195. fgets() 函数用于从文件中逐行读取文件。
  196. // $file = fopen("welcome.txt", "r") or exit("Unable to open file!");
  197. // while(!feof($file))
  198. // {
  199. // echo fgets($file). "<br />";
  200. // }
  201. // fclose($file)
  202. fgetc() 函数用于从文件逐字符地读取文件。
  203. // $file=fopen("welcome.txt","r") or exit("Unable to open file!");
  204. while (!feof($file))
  205. // {
  206. // echo fgetc($file);
  207. // }
  208. // fclose($file);
  209. ------------------------------------------------------
  210. PHP 文件上传
  211. // <form action="upload_file.php" method="post" enctype="multipart/form-data">
  212. // <input type="file" name="file" />
  213. // </form>
  214. $_FILES["file"]["name"] - 被上传文件的名称
  215. $_FILES["file"]["type"] - 被上传文件的类型
  216. $_FILES["file"]["size"] - 被上传文件的大小,以字节计
  217. $_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
  218. $_FILES["file"]["error"] - 由文件上传导致的错误代码
  219. eg:
  220. if ($_FILES["file"]["error"] > 0)
  221. {
  222. echo "Error: " . $_FILES["file"]["error"] . "<br />";
  223. }
  224. else
  225. {
  226. echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  227. echo "Type: " . $_FILES["file"]["type"] . "<br />";
  228. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  229. echo "Stored in: " . $_FILES["file"]["tmp_name"];
  230. }