国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

php mysql數(shù)據(jù)保存到數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法

2024-05-04 21:59:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

文章簡(jiǎn)單的介紹了從數(shù)據(jù)庫(kù)連接到把用戶提交的數(shù)據(jù)保存到mysql數(shù)據(jù)庫(kù)的整個(gè)過(guò)程,一一講解了操作方法,有需要的朋友看看下面五步.

1. 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接

2. 發(fā)送一些不是必須的語(yǔ)句

3. 選擇一個(gè)存儲(chǔ)的數(shù)據(jù)庫(kù)

4. 編寫數(shù)據(jù)庫(kù)插入語(yǔ)句

5. 發(fā)送這個(gè)語(yǔ)句

先看數(shù)據(jù)結(jié)構(gòu),代碼如下:

  1. -- 
  2. -- 表的結(jié)構(gòu) `guest` 
  3. -- 
  4.  
  5. CREATE TABLE IF NOT EXISTS `guest` ( 
  6.   `id` int(11) NOT NULL auto_increment COMMENT '客戶自增id'
  7.   `namevarchar(16) NOT NULL COMMENT '客戶名稱'
  8.   `email` varchar(60) default NULL COMMENT '電子信箱'
  9.   `qq` varchar(11) default NULL COMMENT 'QQ號(hào)碼'
  10.   PRIMARY KEY  (`id`) 
  11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 
  12.  
  13. -- 
  14. -- 導(dǎo)出表中的數(shù)據(jù) `guest` 
  15. -- 
  16.  
  17.  
  18. -- -------------------------------------------------------- 
  19.  
  20. -- 
  21. -- 表的結(jié)構(gòu) `post` 
  22. -- 
  23.  
  24. CREATE TABLE IF NOT EXISTS `post` ( 
  25.   `id` int(11) NOT NULL auto_increment COMMENT 'post主鍵'
  26.   `guest_id` varchar(11) NOT NULL COMMENT '發(fā)布人id'
  27.   `post` text NOT NULL COMMENT '發(fā)布內(nèi)容'
  28.   `post_time` varchar(14) NOT NULL COMMENT '發(fā)布時(shí)間'
  29.   PRIMARY KEY  (`id`) 
  30. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 
  31.  
  32. -- 
  33. -- 導(dǎo)出表中的數(shù)據(jù) `post` 
  34. -- 
  35.  
  36.  
  37. -- 

詳細(xì)的分析也就這么五個(gè)步驟了,那么我們開(kāi)始第一步吧,利用PHP提供的內(nèi)置函數(shù)mysql_connect來(lái)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)鏈接,這個(gè)函數(shù)需要三個(gè)參數(shù),格式如下.

Mysql_connect(‘數(shù)據(jù)庫(kù)所在的主機(jī)’,’鏈接數(shù)據(jù)庫(kù)的用戶名’,’鏈接數(shù)據(jù)庫(kù)的密碼’),這個(gè)函數(shù)返回一個(gè)數(shù)據(jù)庫(kù)連接資源號(hào).

看我們?cè)趐ost.php中的鏈接代碼,代碼如下:

$con=mysql_connect('localhost','root','root') or die('鏈接數(shù)據(jù)庫(kù)失敗!');

mysql_query('set names utf8');

mysql_select_db('GuestBook');

第一行創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接,把資源號(hào)賦給變量$con,如果連接失敗,結(jié)束程序的執(zhí)行輸出提示信息“鏈接數(shù)據(jù)庫(kù)失敗!”.

第二行發(fā)送一個(gè)字符集設(shè)定語(yǔ)句,讓數(shù)據(jù)在數(shù)據(jù)庫(kù)中的出入都使用utf8字符集,這個(gè)語(yǔ)句是可有可無(wú)的,其中的語(yǔ)句可以寫成set names gbk或者set names gb2312等等我們需要的字符集.

第三行利用PHP提供的mysql_select_db函數(shù)來(lái)選擇我們要使用的數(shù)據(jù)庫(kù).

值得注意的是,mysql_query這個(gè)函數(shù)本身有兩個(gè)參數(shù):第一個(gè)參數(shù)就是我們要發(fā)送的數(shù)據(jù)庫(kù)執(zhí)行語(yǔ)句sql,第二個(gè)參數(shù)是數(shù)據(jù)庫(kù)連接的資源編號(hào),如果第二個(gè)參數(shù)沒(méi)有指定的話,那么程序就會(huì)查找最近一個(gè)鏈接資源,也就是說(shuō)這個(gè)參數(shù)不是必須的,我們以上包括將來(lái)的寫法都是沒(méi)有第二個(gè)參數(shù)的,按照程序的上下文我們第二行的語(yǔ)句可以寫作:

mysql_query(“set names utf8”,$con)這樣也是正確的.

這個(gè)函數(shù)的返回值是布爾型的,如果語(yǔ)句成功執(zhí)行就返回true否則返回false——了解這一點(diǎn)很重要,到此為止我們的數(shù)據(jù)庫(kù)連接已經(jīng)就緒,開(kāi)始組裝我們的sql插入語(yǔ)句,看一下代碼,post.php:

  1.  $insertSql="insert into guest (name,qq,email) values ('$name','$qq','$email')"
  2. if(mysql_query($insertSql)){ 
  3.  $guestid = mysql_insert_id(); 
  4. else
  5.  echo $insertSql
  6.  echo mysql_error(); 
  7.  echo "數(shù)據(jù)插入失敗!"
  8.  exit(); 

在這個(gè)片段的第一行中我們組建了一個(gè)sql的插入語(yǔ)句,這個(gè)看來(lái)沒(méi)什么可說(shuō)的,唯一點(diǎn)就是把變量寫進(jìn)這些語(yǔ)句并且用引號(hào)包裹起來(lái)——對(duì)于數(shù)字型的不需要引號(hào).

第二句發(fā)送語(yǔ)句,并判斷是否被成功執(zhí)行。

這個(gè)地方需要說(shuō)明:PHP中if判斷中的語(yǔ)句是會(huì)被執(zhí)行的,例如if($c=$a+$b)這樣的語(yǔ)句被執(zhí)行的順序是,先計(jì)算里面的語(yǔ)句然后再對(duì)結(jié)果作出判斷。所以執(zhí)行之后$c的值是$a,$b之和,判斷的時(shí)候是對(duì)$c作出的判讀。

所以在這個(gè)地方if判斷的是mysql_query($insertSql)的返回結(jié)果,語(yǔ)句已經(jīng)發(fā)送到了數(shù)據(jù)庫(kù)。

第三行出現(xiàn)的函數(shù)mysql_insert_id——獲取最近一次插入數(shù)據(jù)的時(shí)候自增序列的值,我們這里獲取的是guest表中的id,因?yàn)橹挥羞@個(gè)id才是自增的,以備后用。

這個(gè)片段的第五行到最后都是進(jìn)行的錯(cuò)誤處理,如果語(yǔ)句沒(méi)有被成功執(zhí)行,那么就執(zhí)行這些程序,倒數(shù)第二行的exit();函數(shù)的意思是終止程序向下執(zhí)行.

這時(shí)候我們已經(jīng)把guest信息保存到了Mysql的GuestBook的guest表中了,看一下post.php文件,代碼如下:

  1. //把以上插入取得的客戶id和留言信息插入到post表中 
  2. $post_time = time(); 
  3. $insertPostSql = "insert into post(guest_id,post,post_time) values('$guestid','$post','$post_time')"
  4. if(mysql_query($insertPostSql)){ 
  5.  echo <<<tem 
  6.  <script> 
  7.  alert("留言成功"); 
  8.  location.href="index.php"
  9. //開(kāi)源代碼Vevb.com 
  10.  </script> 
  11. tem; 
  12. else
  13.  echo <<<tem 
  14.  <script> 
  15.  alert("留言失敗"); 
  16.  location.href="index.php"
  17.  </script> 
  18. tem; 
  19. }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 海淀区| 东乌珠穆沁旗| 东兴市| 隆昌县| 剑河县| 富裕县| 营山县| 景谷| 托克托县| 黄梅县| 巴楚县| 高陵县| 泽库县| 惠水县| 依安县| 武宣县| 新昌县| 军事| 珠海市| 乌兰浩特市| 福州市| 宣化县| 渑池县| 中卫市| 肇州县| 双流县| 青海省| 南汇区| 广东省| 铜陵市| 鹰潭市| 林口县| 盘锦市| 台北县| 黄大仙区| 河北省| 虹口区| 蒲城县| 通海县| 独山县| 漯河市|