<?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"]; } |