PHP的MySQL擴充:PHP訪問MySQL的常用擴充函數

來源:互聯網
上載者:User

標籤:php

來源:http://www.ido321.com/1024.html

一、PHP串連資料庫及基本操作

        MySQL採用的是’客戶機/伺服器’架構。使用PHP安裝的MySQL擴充函數,和直接使用用戶端軟體區訪問MySQL資料庫伺服器,原理一樣,都需要向MySQL管理系統發送SQL命令,然後將結果返回給使用者。

        在PHP中,SQL分為兩類(查看SQL語句分類):一是有返回結果集的DQL語句,如select/desc 表名,執行完畢之後,需要PHP處理結果集;二是沒有結果集的,如DML、DDL等,但是DML語句執行成功後對資料表的記錄有影響。

<?php//串連資料庫,常用參數是主機名稱、使用者名稱和密碼$link = mysql_connect(‘localhost‘,‘root‘,‘123456‘);//判斷是否串連成功if(!$link){die(‘串連失敗‘.mysql.error());  //串連成功返回資源標識符,失敗返回false,mysql_error顯示錯誤資訊}//選擇資料庫,mysql_error()只在調試中使用,再部署項目時就不要了,不然會泄露資料庫資訊mysql_select_db(‘test‘) or die(‘選擇資料庫失敗‘.mysql_error());//mysql_query()可以設定字元集和執行SQL語句mysql_query(‘set names utf-8‘);$sql = ‘insert into test(id,name) values("1","dwqs")‘;$result = mysql_query($sql);   //執行sql返回結果集//處理結果集,insert屬於DML,會對錶的記錄有影響if($result && mysql_affected_rows() > 0){//mysql_insert_id()返回最後一條新紀錄的auto_increment值echo ‘插入資料成功‘.mysql_insert_id().‘<br/>‘;}else{echo ‘插入資料失敗,錯誤號碼:‘.mysql_errno().‘錯誤資訊:‘.mysql_error().‘<br/>‘;}//關閉串連mysql_close($link);?>

 

二、PHP處理select查詢結果集

       在PHP中執行select語句返回一個結果集,可以用於對各個欄位的處理

$result  = mysql_query(‘select * from test‘);//擷取記錄行的個數$rows = mysql_num_rows($result);//擷取欄位個數,即資料列$cols = mysql_num_fields($result);

       如果需要訪問結果集中的資料,可以使用下列四個函數中的一個(均以結果集資源符作為參數,並自動返回下一條記錄,在表末尾時返回false)

            1、mysql_fetch_row():該函數將一條結果記錄返回並以一個普通的索引資料儲存

            2、mysql_fetch_assoc():從結果集中取得一行作為關聯資料儲存

            3、mysql_fetch_array():從結果集中取得一行作為關聯陣列,或數字數組,或二者兼有。可以使用MYSQL_ASSOC(關聯陣列形式)、MYSQL_NUM(索引數組形式)和MYSQL_BOTH作為第二個參數,指定返回的資料形態。

            4、mysql_fetch_object():從結果集中取得一行作為對象,各個欄位以對象方式訪問。

      建議:沒有特殊要求,不要使用mysql_fetch_array(),可以使用mysql_fetch_row()或者mysql_fetch_assoc()實現同樣的功能,且效率高。

      另外也有三個與結果集相關的常用函數

            5、mysql_data_seek(int $num):移動內部結果的指標,$num是想要設定的新的結果集指標的行數。

            6、mysql_fetch_lengths(resource $result):取得結果集中每個輸出的長度

            7、mysql_result(resource $result , int$row[,mixed $field]):返回 MySQL 結果集中一個單元的內容。欄位參數可以是欄位的位移量或者欄位名,或者是欄位表點欄位名(tablename.fieldname)。如果給列起了別名(’select foo as bar from…’),則用別名替代列名。調用mysql_result()不能和其它處理結果集的函數混合調用。


下一篇:如何利用WordPress建立自訂註冊表單外掛程式


PHP的MySQL擴充:PHP訪問MySQL的常用擴充函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.