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中文網。