下面整理了是一些在學習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(" "," ",$lin);替換空格
- function htmtocode($con) {空格和換行替換成html標簽
- // $con=str_replace("n","<br>",str_replace(" "," ",$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"];
- }
新聞熱點
疑難解答