hi
好幾天了吧,腳傷都有一周了的。玩樂的這么久才發(fā)覺,對于年輕人,或者更具體的,對我而言,受傷最難受的不是受傷瞬間的身痛,不是隨之而來的心理負擔,不是獨自一人遠在他鄉(xiāng)的孤獨無助之感;最傷的是斗志,是受傷后提不起來的消沉意志,是破罐子破摔的糜爛心氣,或者,是問題本質(zhì)的內(nèi)心莫名的恐懼。
還好,雖然這么多天沒動,恐懼的雙刃劍還是刺痛尚存的責任心、內(nèi)疚感,我還能繼續(xù)寫博客,活活活活~~
爭取一天一門課,回家之前能有所成,一起加油!
新人新氣象新課程~
1、PDO
一、PDO簡介
1.1 PDO
php Data Object,數(shù)據(jù)庫訪問抽象層,統(tǒng)一各種數(shù)據(jù)庫的訪問接口。
提高數(shù)據(jù)庫之間的移植性以及可維護性——手段是抽象度的提高,訪問接口的統(tǒng)一。
不管用什么數(shù)據(jù)庫,可以用同一個API進行編寫。
--特性
編碼一致性;
靈活性;
高性能;(c語言編寫的,編譯為PHP)
OOP。
--支持的庫
PDO只是一個抽象的接口,對該接口的操作還需要支持各種庫。
這里我們用的是PHP語言,所以用PDO MySQL。
1.2 配置與啟用
在PHP的配置文件進行配置:
開啟php_pdo.dll拓展-》開啟相對應的數(shù)據(jù)庫的拓展php_pdo_mysql.dll-》phpinfo看一下。
當然不同的環(huán)境(集成)是不一樣的,自行百度吧。
1.3 連接數(shù)據(jù)庫
--方式
參數(shù)形式;
URI形式;
配置文件形式。php.ini
--栗子
<?php
/*
* PDO實現(xiàn)連接數(shù)據(jù)庫
*/
//參數(shù)形式
try {
$dsn='mysql:localhost;dbname=imooc_pdo';//數(shù)據(jù)源
$username='root';
$passwd='';
$pdo=new PDO($dsn, $username, $passwd); //pdo對象
var_dump($pdo);
}catch (PDOException $e){ //得到錯誤信息
echo $e->getMessage();
}
//URI形式
try {
$dsn='uri:C:/wamp/www/PDO_learning/dsn.txt';//區(qū)別就在于數(shù)據(jù)源獲取
$username='root';
$passwd='';
$pdo=new PDO($dsn, $username, $passwd);
var_dump($pdo);
}catch (PDOException $e){ //得到錯誤信息
echo $e->getMessage();
}
//配置文件形式,首先要在php.ini中寫pdo.dsn.imooc="mysql:host=localhost;dbname=imooc_pdo"
try {
$dsn='imooc';//區(qū)別就在于數(shù)據(jù)源獲取
$username='root';
$passwd='';
$pdo=new PDO($dsn, $username, $passwd);
var_dump($pdo);
}catch (PDOException $e){ //得到錯誤信息
echo $e->getMessage();
}
基本流程就是寫好參數(shù),然后new一個PDO對象即可。參數(shù)有數(shù)據(jù)源信息,用戶名,密碼三個。
數(shù)據(jù)源:data source name:驅(qū)動器名稱:主機;數(shù)據(jù)庫;(各種數(shù)據(jù)庫這里的語法是不同的,自查)。
可以看到,三種形式的區(qū)別就在于取數(shù)據(jù)源的方式不同。
建議通過參數(shù)形式連接,當然,隨你。
二、PDO對象的使用(增刪改查)
2.1 exec()
執(zhí)行一條SQL語句,并返回其受影響的行數(shù),如果沒有受影響的記錄返回為0。
注意,exec對select沒有用。
--栗子:建表&增
<?php
/*
* exec()的使用案例
*/
$pdo=new PDO('mysql:host=localhost;dbname=imooc','root','');
$sql=<<<EOF
CREATE TABLE IF NOT EXISTS user(
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL UNIQUE,
passWord CHAR(32) NOT NULL,
email VARCHAR(30) NOT NULL
);
EOF;
$pdo->exec('use imooc_pdo');
$result0=$pdo->exec($sql);
var_dump($result0);
$insert='insert user(username,password,email) values("Kinga","'.md5('king').'","shit@shit.com")';
$result1=$pdo->exec($insert);
var_dump($result1);
但是,如果重復執(zhí)行的話,會返回false。(?我也不知道為什么,誰能告訴我)
同樣的刪除也是可以的,但是注意查select是不能用exec執(zhí)行的。
每次從exec的返回結(jié)果進行結(jié)果的判定就行。
---------------------------------------------------------------------
哎呀,我真欠打,看了兩集朝廷的綜藝節(jié)目,時間嘩嘩的。。明天加油吧。
新聞熱點
疑難解答