萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php與mysql數據庫cookie Session 分頁學習筆記

php與mysql數據庫cookie Session 分頁學習筆記

下面整理了是一些在學習php mysql中我們一些常用的知識點,包括有分頁,連接數據庫及時登錄與文件上會以的知識點,希望對各位有幫助。  代碼如下 復制代碼

 

<?php
$con = mysql_connect("localhost","root","222222");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
  echo "成功"
 
//mysql_close($con); 關閉連接
//var_dump($row); 打印出來
//print_r(); 打印出來 沒有上面功能強
-------------------------------------------
strlen("Hello world!"); //用於計算字符串的長度。
strpos("Hello world!","world"); //用於在字符串內檢索一段字符串或一個字符。
 
 
-------------------------------------------
介紹數據庫中常用字段類型
//整數型:TINYINT,SMALLINT,INT,BIGINT
 
//小數型:FLOAT,DOUBLE,DECIMAL(M,D)
 
//字符型:CHAR,VARCHAR
 
//日期型:DATETIME ,DATE,TIMESTAMP
 
//備注型:TINYTEXT ,TEXT ,LONGTEXT
 
//sql語句 大小寫不敏感(系統的盡量大寫)
 
CREATE TABLE `test` (   //需要把整理設置成utf8_general_ci
`id` int(10) NOT NULL auto_increment,
`uid` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL default '0',
`regdate` date NOT NULL,
`remark` text NULL,
PRIMARY KEY (`id`) //id為主鍵關鍵貞
)
//NOT NULL 不能為空 www.111cn.net
//auto_increment 自動累加
//varchar(10) default '0' 10個字符長度默認為0
-------------------------------------------
 
SELECT查詢語句
//SELECT 查詢字段 FROM 表名 WHERE 條件
 
查詢字段 : 可以使用通配符 * ,字段名,字段別名
表名:數據庫.表名,表名
常用條件 :=等於,<>不等於,in包含,not in 不包含,like匹配
BETWEEN在范圍,not BETWEEN不在范圍<,>
條件運算:and ,or ,()
 
//eg: SELECT id, uid FROM `test` WHERE 1;指定查詢id uid
別名使用
//SELECT remark as r FROM `test` WHERE 1  別名使用 r 代替 remark
=等於
//SELECT * FROM `test` WHERE id=2; 查詢id=2的
<>不等於
//SELECT * FROM `test` WHERE id<>2 查詢id不等於2 的
in包含
//SELECT * FROM `test` WHERE id in(1,2,4);查詢包含1,2,4的信息
not in 不包含
//SELECT * FROM `test` WHERE id not in (1,2,3);查詢不包含1,2,3的信息
like匹配
//SELECT * FROM `test` WHERE `uid` like '%王%';  %是前後匹配,匹配到所有姓王的 `uid`是varchar 字符型要加上``
BETWEEN在范圍
//SELECT * FROM `test` WHERE id BETWEEN 1 and 3 查詢1-3這個范圍內所有的信息
not BETWEEN不在范圍
//SELECT * FROM `test` WHERE id not BETWEEN 1 and 3 查詢不在1-3這個范的信息
多條件
//SELECT * FROM `test` WHERE id=2 and `uid`='呂輝' 多個條件查詢,查詢id=2並且uid=呂輝 的信息
---------------------------------------------------------
注:以下三個方法語句順序不能亂; group by - order by - limit
分組語句:group by 字段(這裡不需要條件語句)
//SELECT * FROM `test` group by `remark`
排序語句:order by 字段 ,字段ASC(正序)/DESC(倒序)
//SELECT * FROM `test` order by `regdate` DESC 倒序查詢最新注冊的
//SELECT * FROM `test` order by `regdate` DESC , id ASC 注冊日期倒序,id正序查詢
指針查詢:limit 初始值,結束值(這裡不需要條件語句)
//SELECT * FROM `test` limit 0,3 查詢0到3條信息
//SELECT * FROM `test` limit 4 (等同上,省略掉0,初始值省略)
---------------------------------------------------------
計算:
COUNT(*)統計函數
MAX(*)最大值函數
MIN(*)最小值函數
AVG(*)平均值函數
SUM(*)累計值函數(∑)
 
//SELECT MIN(id) FROM `test` WHERE 1 查詢最小值的Id
 
 
---------------------------------------------------------
 
insert插入語句
//insert into 表名(字段...,...)values(值..,...);規范的
//insert into 表名values(值..,..);不推薦使用
 
eg:
//insert into test (`id`,`uid`,`regdate`,`remark`) values('','張三',now(),'工人') id是auto++的可省略,now()系統現在時間
//insert into test values('','李四',now(),'學生') 同樣可以插入,但不推薦使用
 
Update更新語句(不需要FROM)
//UPDATE 表名 SET 字段 = 值 WHERE 條件 limit(可省略)
eg:
//update test set uid='php200' where id=6 更新id=6的uid=php200
 
Delete 刪除語句(刪除是無法恢復的)
//DELETE FROM 表名 WHERE 條件 limit(可省略)
eg:
delete FROM test WHERE id=3 刪除id=3 的信息 (盡量少使用,)
 
-------------------------------------------------------------
其他常用Mysql函數介紹
 
 mysql_num_rows() //用於計算查詢結果中共多少條信息
//$sq = " SELECT * FROM messages order by id DESC "; //查找數據表並倒序
//$sque = mysql_query($sq);
//echo mysql_num_rows($sque);
 
mysql_insert_id //傳回最後一次使用 INSERT 指令的 ID。
mysql_tablename //取得數據庫名稱
mysql_error   //返回錯誤信息
mysql_close //關閉 MySQL 鏈接
----------------------------------------------------------
isset($views) //判斷變量是否存在
function_exists() //判斷函數是否存在
 
兩種查詢函數array / row區別
//mysql_fetch_row(result);(不常用)
//mysql_fetch_array($sque,MYSQL_ASSOC);(常用)
//以上二種需配合while($row=mysql_fetch_array($sque,MYSQL_ASSOC)){}循環使用才能輸出數據庫全部內容;
 
延時跳轉
header("Refresh:5;url=login.php");
----------------------------------------------------------
str_relace(被替換的值,替換的值,被替換的內容)
 
$lin='ss sd df';
//str_relace(" ","&nbsp;",$lin);替換空格
function htmtocode($con) {空格和換行替換成html標簽
//  $con=str_replace("n","<br>",str_replace(" ","&nbsp;",$con));
//  return $con;
}
------------------------------------------------------------
 
htmlspecialchars格式化html
//主要功能是將html格式化,防止在輸出html時被浏覽器執行;
//htmlspecialchars(所要格式化對象,定義單雙引號,編碼)
------------------------------------------------------------
setcookie("TEST","value",3600,"/dir",".domains.com",true);
//TEST cookie名
//value cookie值
//3600 保存時間
//dir cookie保存路徑
//.domains.com  起效域名
//true https 發送
//注意:使用php cookie當場不能生效,需要刷新一次
 
----------------------------------
PHP會話Session的具體使用方法解析
//PHP會話Session與Cookie的最大不同之處是,其實存儲在服務器端的,對於遠程用戶來說,
//是無法對PHP會話Session文件的內容進行任何修改的。
開始 PHP Session
//詳細 http://www.w3school.com.cn/php/php_sessions.asp
 
 session_start(); //1,啟動必須在html標簽前面
 $_SESSION['views']=1;//2,設置
 $_SESSION[''];//3,獲取
 unset($_SESSION['views']);//4,刪除
 session_destroy()//,徹底終結  將重置 session,您將失去所有已存儲的 session 數據。
 
isset() //函數檢測是否已設置 "views" 變量
//if(isset($_SESSION['views']))
file_exists("welcome.txt")  //檢測文件是否存在
 
 
 
------------------------------------------------------------
PHP+MYSQL分頁原理
 
1.SQL語句中的limit用法
分頁原理
//所謂分頁顯示,也就是將數據庫中的結果集,分成一段一段來顯示
需要的條件
//前10條記錄:select*form table limit 0,10
//第11至20條記錄:select * from table limit 10,10
//第21至30條記錄:select * from table limit 20,10
 
公式:
(當前頁數-1)*每頁條數,每頁條數
// select * from table limit($Page-1)*$PageSize,$PageSize
----------------------------------------------------------
parse_url()
//是將URL解析成為固定鍵值名稱的數組和函數
---------------------------------------------
$_SERVER["REQUEST_URI"];
//REQUEST_URL的作用是取得當前URL,也就是除域名外後面的完整的地址路徑;
eg:
// http://www.php100.com/home.php?id=22&cid=21
//echo $SERVER["REQUEST_URI"]
//結果為:/home.php?id=22&cid=21
 
--------------------------------------------------------
PHP上傳原理及應用
 
1、FORM標簽enctype屬性
2、$_FILES 系統函數
3、move_uploaded_file函數
4、is_uploaded_file 函數
 
 
 
---------------------------------------------------------
fopen() 函數用於在 PHP 中打開文件。
//fopen("welcome.txt","r");
 
//  模式  描述
//  r       只讀。在文件的開頭開始。
//  r+      讀/寫。在文件的開頭開始。
//  w       只寫。打開並清空文件的內容;如果文件不存在,則創建新文件。
//  w+      讀/寫。打開並清空文件的內容;如果文件不存在,則創建新文件。
//  a       追加。打開並向文件文件的末端進行寫操作,如果文件不存在,則創建新文件。
//  a+      讀/追加。通過向文件末端寫內容,來保持文件內容。
//  x       只寫。創建新文件。如果文件已存在,則返回 FALSE。
//  x+ 
//  讀/寫。創建新文件。如果文件已存在,則返回 FALSE 和一個錯誤。
//  注釋:如果 fopen() 無法打開指定文件,則返回 0 (false)。
 
//如果 fopen() 不能打開指定的文件,下面的例子會生成一段消息:
//$file=fopen("welcome.txt","r") or exit("Unable to open file!");
 
fclose() 函數用於關閉打開的文件。
 
//$file = fopen("test.txt","r"); fclose($file);
 
feof() 函數檢測是否已達到文件的末端 (EOF)。
在循環遍歷未知長度的數據時,feof() 函數很有用。
//if (feof($file)) echo "End of file";
 
fgets() 函數用於從文件中逐行讀取文件。
 
//  $file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//  while(!feof($file))
//  {
//   echo fgets($file). "<br />";
//  }
//  fclose($file)
 
fgetc() 函數用於從文件逐字符地讀取文件。
 
//  $file=fopen("welcome.txt","r") or exit("Unable to open file!");
    while (!feof($file))
//  {
//  echo fgetc($file);
//  }
//  fclose($file);
 
 
------------------------------------------------------
PHP 文件上傳
//  <form action="upload_file.php" method="post" enctype="multipart/form-data">
//      <input type="file" name="file" id="file" />
//  </form>
 
$_FILES["file"]["name"] - 被上傳文件的名稱
$_FILES["file"]["type"] - 被上傳文件的類型
$_FILES["file"]["size"] - 被上傳文件的大小,以字節計
$_FILES["file"]["tmp_name"] - 存儲在服務器的文件的臨時副本的名稱
$_FILES["file"]["error"] - 由文件上傳導致的錯誤代碼
 
eg:
 
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }

copyright © 萬盛學電腦網 all rights reserved