php中關於資料庫的操作

來源:互聯網
上載者:User

標籤:

php中對資料庫的操作,舉例如下:

     //串連到本地mysql資料庫    $myconn=mysql_connect("localhost","root","root");
//這就是指定資料庫字元集,一般放在串連資料庫後面就系了
mysql_query("set names ‘gbk‘"); //

//選擇test為操作庫
    mysql_select_db("test",$myconn);
$strSql="select * from user";
//用mysql_query函數從user表裡讀取資料

  $result=mysql_query($strSql,$myconn);

  //通過迴圈讀取資料內容
while($row=mysql_fetch_array($result)) {?><tr> <td align="center" height="19"><?echo $row["id"]?></td> <td align="center"><?echo $row["userid"]?></td> 。。。</tr><? } //關閉對資料庫的串連 mysql_close($myconn);

上例中列出了大部分常用的php中資料庫操作,為mysql連結版,這樣的代碼有幾個問題:

0.可以通過預定義的方式來定義變數,比如資料庫所在的主機,使用者名稱等:如define(MYSQL_HOST,  ‘localhost’)。在編寫代碼時應時刻注意這個問題,通過這樣的解耦合操作,使代碼可重用,易修改性得到很大提高。

1.  每種操作都不保證成功,可以添加die()錯誤處理:如

$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or die(‘Unable to connect, please check connection paremeters’);

  die()和exit()都是中止指令碼執行函數;其實exit和die這兩個名字指向的是同一個函數,die()是exit()函數的別名。該函數只接受一個參數,可以是一個程式返回的數值或是一個字串,也可以不輸入參數,結果沒有傳回值。

參考:雖然兩者相同,但通常使用中也有細微的選擇性。例如:

當傳遞給exit和die函數的值為0時,意味著提前終止指令碼的執行,通常用exit()這個名字 echo "1111";  exit(0);

當程式出錯時,可以給它傳遞一個字串,它會原樣輸出在系統終端上,通常使用die()這個名字。$fp=fopen("./readme.txt","r") or die("不能開啟該檔案");

2.這裡的代碼只針對mysql,若系統要遷移,資料庫要變為其他,如Oracle等則代碼變動較多,帶來很多額外工作量。而java做後台,則有jdbc來訪問資料庫,通過不同的資料庫廠商提供的資料庫驅動訪問資料庫。所以從php5之後加入了類似的pdo來為多種資料庫提供統一訪問,使用pdo可以屏蔽底層資料庫差異。下面一個簡答舉例:

  

<?php$dsn = "mysql:host=localhost;dbname=test"; $db = new PDO($dsn, ‘root‘, ‘‘);$count = $db->exec("INSERT INTO foo SET name = ‘heiyeluren‘,gender=‘男‘,time=NOW()");echo $count;$db = null;?>

建立pdo對象時第一個參數為資料來源,裡面可以指定來自不同的資料庫的參數。然後可以使用pdo的一系列方法與資料來源互動。

php中關於資料庫的操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.