解讀php的PDO串連資料庫的相關內容

來源:互聯網
上載者:User
php的PDO串連資料庫在資料操作中很重要,本篇文章將詳解其相關內容。

php的PDO串連資料庫是一個物件導向的資料庫的資料對象

之所以我選擇PDO串連資料庫是因為PDO適合任意的資料庫

而mysqli,只適合於mysql,沒有哪個好,哪個不好,哪個用得順手就用哪個。

首先,我們當然要串連資料庫了。那麼PDO的串連資料庫有一條特定的語句就是:

$link= new PDO("mysql:host=$servername;dbname=myDB", $username, $password);通常$servername,myDB,$username,$password都是變數,為了安全,我們可以在conf.php檔案下define(定義)他們define("DB_HOST", "localhost");define("DB_USER", "root");define("DB_PWD", "123456");define("DB_DBNAME", "blog");define("DB_CHARSET","utf8");

然後使用他們:

$link = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DBNAME."", DB_USER, DB_PWD);

通常,我們在增刪改查都要再次串連資料庫,所以我們通常都return $link;來返回結果,每次使用就調用connect()

function connect(){    try {        $link = new PDO("mysql:host=".DB_HOST.";dbname=".DB_DBNAME."", DB_USER, DB_PWD);        //設定PDO錯誤模式,用於拋出異常        $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    } catch (PDOException $e) {        echo "資料庫連接失敗".$e->getMessage();    }    return $link;}


這樣,connect()方法就完成了。

之後我們就想insert(插入)資料了吧,接著往下看

首先思考,插入資料需要什麼東西?

insert into {$table}($key) values {$values};

這是一條sql語句,也是我將會使用到的sql語句。

我使用變數代表著那是我們sql語句需要的東西,$table,$key,$values

$table好像我們比較容易找,弄個變數就好了,但是$key和$values呢?能不能同時擷取到呢?

這時候我們就可以使用$array了:

array_key()和array_values()這兩個函數就可以同時擷取$key和$values

那麼這就簡單了,我們變成我們只需要兩個變數$table和$array

所以,我們的insert($table,$array)方法中應該加入兩個變數了

然後之後就要考慮資料的拼接問題,那麼我就不一一細說了,因為一看就懂

直接上代碼:

function insert($table,$array){    try {        $conn = connect();        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);        $key = join(",", array_keys($array));        $values = "'".join("','", array_values($array))."'";        $sql = "insert into {$table}($key) values {$values}";        $result = $conn->exec($sql);        return $conn->lastInsertId();    } catch (PDOException $e) {        echo "插入失敗".$e->getMessage();    }   }

好啦,碼字有點多了感覺,所以今天就先這樣,之後還有update(),delete()等方法和你們分享

雖然這些是老東西了,但是我想紮實的往上就應該寫寫出來

本篇講解了php的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.