欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php pdo連接數(shù)據(jù)庫

吳秀林1年前7瀏覽0評論

今天我們來聊聊php中的pdo,pdo可以使我們更加方便的連接數(shù)據(jù)庫,同時具有很好的安全性能。下面我們來看看pdo連接數(shù)據(jù)庫的具體方法。

1.首先我們需要在php代碼中引用pdo類庫:

<?php
// 引入 PDO 類庫
try {
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '123456';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
echo 'Error: ' . $e->getMessage();
exit(); 
}
?>

在上面的代碼中,我們使用了try...catch語法塊來捕獲pdo連接數(shù)據(jù)庫有可能發(fā)生的異常。$dsn表示要連接的數(shù)據(jù)庫類型和數(shù)據(jù)庫名稱,$username和$password表示連接數(shù)據(jù)庫時需要用到的用戶名和密碼。$options表示連接的一些參數(shù),比如錯誤模式ERRMODE_EXCEPTION表示有異常時拋出PDOException異常。FETCH_ASSOC表示在讀取數(shù)據(jù)時以關聯(lián)數(shù)組的形式返回數(shù)據(jù)。

2.使用pdo連接數(shù)據(jù)庫

<?php
$pdo = new PDO("mysql:host=localhost;dbname=test","root","123456");
$statement = $pdo->query('SELECT * from user');
while($row = $statement->fetch()) {
echo $row['id'] . '-' . $row['name'] . '-' . $row['age'] . '<br />';
}
?>

在上面的代碼中,我們使用了pdo中的query方法來發(fā)送sql查詢,使用fetch方法來獲取查詢結(jié)果。如果查詢結(jié)果是多條記錄,我們可以使用while循環(huán)來處理。在循環(huán)中每次取出一條記錄,并對記錄進行操作。

3.使用pdo來執(zhí)行sql語句

<?php
$sql = "INSERT INTO user(name,age) VALUES (:name,:age)";
$statement = $pdo->prepare($sql);
$statement->execute(array(':name' => 'tom', ':age' => '20'));
$count = $statement->rowCount();
echo $count . ' records added.';
?>

上面的代碼中,使用了pdo中的prepare方法來編譯sql語句,execute方法將需要執(zhí)行的語句和參數(shù)數(shù)組一起傳入。使用rowCount方法來獲取執(zhí)行成功的記錄數(shù)。

4.使用pdo綁定命名參數(shù)

<?php
$name = 'tom';
$age = 20;
$statement = $pdo->prepare('SELECT * from user WHERE name=:name AND age=:age');
$statement->bindParam(':name', $name);
$statement->bindParam(':age', $age);
$statement->execute();
while($row = $statement->fetch()) {
echo $row['id'] . '-' . $row['name'] . '-' . $row['age'] . '<br />';
}
?>

上面的代碼中,我們使用了bindParam方法來將變量值與命名參數(shù)進行綁定。查詢結(jié)果將返回與綁定的變量對應的數(shù)據(jù)記錄。

5.使用pdo預處理語句(也稱為存儲過程)

<?php
$stmt = $pdo->prepare('CALL test(?,?)');
$stmt->bindParam(1, $in_param);
$stmt->bindParam(2, $out_param, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
$in_param = 'hello';
$stmt->execute();
echo $out_param;
?>

上面的代碼中,我們使用pdo的預處理語句來執(zhí)行存儲過程。在存儲過程中我們使用了bindparam方法將參數(shù)與命名參數(shù)進行綁定。PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT表示我們需要傳入一個字符串類型的參數(shù),并且將輸出結(jié)果返回$no_of_rows = $stmt->rowCount();參數(shù)。4000表示最大值為4000個字符的字符串。

以上就是關于php pdo連接數(shù)據(jù)庫的簡要介紹了,通過這次學習我們可以發(fā)現(xiàn)是使用pdo連接數(shù)據(jù)庫非常方便,同時具有很好的安全性能。如果你還沒有嘗試過pdo,那就去試試吧。