日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql php pdo_php PDO mysql写法

發布時間:2024/9/27 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql php pdo_php PDO mysql写法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php PDO寫法連接mysql;

寫法一:

$db="mysql:host=localhost;dbname=sql" ; //連接數據,地址localhost;數據庫名稱sql;

$username="root"; //數據庫登錄賬號;

$password="root"; //數據庫登錄密碼;

try{

$pdo=new PDO($db,$username,$password); ? //連接數據庫賦值$pdo;

}catch(PDOException $e){

echo "PDO連接失敗".$e->getMessage();

}

寫法二:

$db=new PDO("mysql:host=localhost;dbname=sql","root","root"); ?//連接數據,地址localhost;數據庫名稱sql;數據庫登錄賬號密碼; 連接賦值$db

PDO增刪查改

事例一:

$dbh = new PDO(‘mysql:host=localhost;dbname=access_control‘, ‘root‘, ‘‘);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$dbh->exec(‘set names utf8‘);

/*添加*/

//$sql = "INSERT INTO `user` SET `login`=:login AND `password`=:password";

$sql = "INSERT INTO `user` (`login` ,`password`)VALUES (:login, :password)";? $stmt = $dbh->prepare($sql);? $stmt->execute(array(‘:login‘=>‘kevin2‘,‘:password‘=>‘‘));

echo $dbh->lastinsertid();

/*修改*/

$sql = "UPDATE `user` SET `password`=:password WHERE `user_id`=:userId";

$stmt = $dbh->prepare($sql);

$stmt->execute(array(‘:userId‘=>‘7‘, ‘:password‘=>‘4607e782c4d86fd5364d7e4508bb10d9‘));

echo $stmt->rowCount();

/*刪除*/

$sql = "DELETE FROM `user` WHERE `login` LIKE ‘kevin_‘"; //kevin%

$stmt = $dbh->prepare($sql);

$stmt->execute();

echo $stmt->rowCount();

/*查詢*/

$login = ‘kevin%‘;

$sql = "SELECT * FROM `user` WHERE `login` LIKE :login";

$stmt = $dbh->prepare($sql);

$stmt->execute(array(‘:login‘=>$login));

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){

print_r($row);

}

print_r( $stmt->fetchAll(PDO::FETCH_ASSOC));

?>

事例二:

?>

PDO語句說明

$pdo=new PDO("mysql:dbname=test;host=127.0.0.1;port=3306","root","php");

$pdo=new PDO("mysql:dbname=數據庫;host=127.0.0.1;port=3306","root","php",array(PDO::ATTR_PERSISTENT=>true));

$pdo->setAttribute(PDO::ATTR_PERSISTENT,true);//設置數據庫連接為持久連接

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//設置拋出錯誤

$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS,true);//設置當字符串為空轉換為SQL的NULL

$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);//表字段字符的大小寫轉換或原樣使用列信息

$pdo->query("SET NAMES utf8");//設置數據庫編碼

$pdo->query(sql語句);//返回PDOStatement對象,一般用于select

$pdo->exec(sql語句);//返回受影響行數,一般用于insert|update|delete

$sm=$pdo->query();

$sm->rowCount()//返回記錄數

$pdo=null;//釋放資源

while($data=$sm->fetch()){print_r($data);}//只會返回一條數據

$sm->setFetchMode(PDO::FETCH_ASSOC);//只返回關聯索引

$data=$sm->fetchAll();//返回所有數據

$sm=$pdo->prepare(sql語句);

$sm->execute();

$data=$sm->fetchColumn();//一般用來進行count統計

將列分發到變量

$sm->bindColumn(數字,變量);

$sm->bindColumn(字段名,變量);

while($data=$sm->fetch(PDO::FETCH_BOUND)){}

替換變量

$sm=$pdo->prepare(":占位變量");

$sm->bindParam(":占位變量",值,PDO::PARAM_INT);

$sm->bindParam(":占位變量",值,PDO::PARAM_STR,12);

$sm->execute();

替換問號占位符

$sm=$pdo->prepare("?");

$sm->bindValue(1,值,PDO::PARAM_INT);//第1個問號

$sm->bindValue(2,值,PDO::PARAM_STR,12);//第2個問號

$sm->execute();

方法

PDO::query()//處理一條SQL語句并返回一個PDOStatement對象

PDO::lastInsertId()//獲取插入到表中的最后一條數據的主鍵值

PDO::prepare()//負責準備執行的SQL語句

PDO::exec()//處理一條SQL語句并返回所影響的行數

PDO::beginTransaction//開始一個事務并標明回滾起始點

PDO::commit//提交一個事務并執行SQL語句

PDO::__construct//構造函數

PDO::errorCode//獲取錯誤碼

PDO::errorInfo//獲取錯誤信息

PDO::getAttribute//獲取一個數據庫連接對象的屬性

PDO::getAvailableDrivers//獲取有效的PDO驅動器名稱

PDO::inTransaction

PDO::quote//為某個SQL語句中的字符串添加引號

PDO::rollBack//回滾一個事務

PDO::setAttribute//為一個數據庫連接對象設定屬性

PDOStatement::bindColumn//將列分發到變量

PDOStatement::bindParam//替換變量

PDOStatement::bindValue//替換問號占位符

PDOStatement::closeCursor//關閉光標

PDOStatement::columnCount//字段數

PDOStatement::debugDumpParams

PDOStatement::errorCode//獲取錯誤碼

PDOStatement::errorInfo//獲取錯誤信息

PDOStatement::execute//執行語句

PDOStatement::fetch//只會返回一條數據

PDOStatement::fetchAll//返回所有數據

PDOStatement::fetchColumn//一般用來進行count統計

PDOStatement::fetchObject

PDOStatement::getAttribute

PDOStatement::getColumnMeta

PDOStatement::nextRowset

PDOStatement::rowCount//記錄數

PDOStatement::setAttribute

PDOStatement::setFetchMode

常量

PDO::ATTR_AUTOCOMMIT//是否開啟自動提交功能true|false

PDO::ATTR_PREFETCH//設置應用程序提前獲取的數據大小[千字節為單位]

PDO::ATTR_TIMEOUT//設置超時之前的等待時間[秒為單位]

PDO::ATTR_SERVER_INFO//包含與數據庫特有的服務器信息

PDO::ATTR_SERVER_VERSION//包含與數據庫服務器版本號有關的信息

PDO::ATTR_CLIENT_VERSION//包含與數據庫客戶端版本號有關的信息

PDO::ATTR_CONNECTION_STATUS//設置超時之前的等待時間[秒為單位]

PDO::CASE_LOWER//強制列名是小寫

PDO::CASE_UPPER//強制列名為大寫

PDO::CASE_NATURAL//列名按照原始的方式

PDO::FETCH_ASSOC//關聯數組形式

PDO::FETCH_NUM//數字索引數組形式

PDO::FETCH_BOTH//兩者數組形式都有

PDO::FETCH_OBJ//按照對象的形式

?>

//注釋:

當異常被觸發時,通常會發生:在PHP5中添加了類似于其它語言的錯誤異常處理模塊。在 PHP代碼中所產生的異常可被 throw語句拋出并被 catch 語句捕獲。需要進行異常處理的代碼都必須放入 try 代碼塊內,以便捕獲可能存在的異常。每一個 try 至少要有一個與之對應的 catch。

使用多個 catch 可以捕獲不同的類所產生的異常,當 try 代碼塊不再拋出異常或者找不到 catch 能匹配所拋出的異常時,PHP 代碼就會在跳轉到最后一個 catch 的后面繼續執行。當然,PHP 允許在 catch 代碼塊內再次拋出(throw)異常,當一個異常被拋出時,其后(譯者注:指拋出異常時所在的代碼塊)的代碼將不會繼續執行,而 PHP 就會嘗試查找第一個能與之匹配的 catch,如果一個異常沒有被捕獲,而且又沒用使用 set_exception_handler() 作相應的處理的話,那么 PHP 將會產生一個嚴重的錯誤,并且輸出 Uncaught Exception ... (未捕獲異常)的提示信息.

詳細:

http://www.jb51.net/article/61316.htm

http://www.jb51.net/article/59692.htm

http://www.jb51.net/article/61317.htm

?>

總結

以上是生活随笔為你收集整理的mysql php pdo_php PDO mysql写法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。