-
PDO::getAttribute — 取回一個數(shù)據(jù)庫屬性 $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,1)//設(shè)置數(shù)據(jù)庫連接屬性中的自動提交功能為1(開啟) //鏈接數(shù)據(jù)庫時設(shè)置數(shù)據(jù)庫屬性(數(shù)據(jù)庫屬性存放在一個關(guān)聯(lián)數(shù)組中) $options=array(PDO::ATTR_AUTOCOMMIT=>0,PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION); $pdo=new PDO($dsn, $username, $passwd, $options); PDO::setAttribute — 設(shè)置一個數(shù)據(jù)庫屬性 $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT) php在讀雙引號中的內(nèi)容時,一旦遇到$,就希望找到一個最可能的變量.所以在沒有引起歧義的情況下 echo "PDO::ATTR_$attr: "; php找到變量$attr并解析它(沒有$a,$at,$att.$attr: 變量情況下).所以以上寫法為正確語句.查看全部
-
PDO::query ($sql)方法返回的結(jié)果是PDOStatement實例對象,PDOStatement可以用來操作結(jié)果集了。 PDO::prepare()方法返回的也是PDOStatement,但這時PDOStatement代表一條預(yù)處理語句,也就是說如果你通過PDO::prepare()查詢,實際上并未執(zhí)行sql,而是得到一個預(yù)處理語句(PDOStatement),然后你調(diào)用PDOStatement::execute()方法真正執(zhí)行。執(zhí)行結(jié)果集保存在保存在調(diào)用execute()方法的PDOStatement中 //prepare($sql):準(zhǔn)備SQL語句 $stmt=$pdo->prepare($sql); //execute():執(zhí)行預(yù)處理語句 $res=$stmt->execute(); //fetch():得到結(jié)果集中的一條記錄 $row=$stmt->fetch(); //默認(rèn)得到的結(jié)果為關(guān)聯(lián)數(shù)組和索引數(shù)組 //可以通過設(shè)置fetch()方法參數(shù)獲得返回結(jié)果的不同形式 $row=$stmt->fetch(PDO::FETCH_ASSOC); //關(guān)聯(lián)數(shù)組 $row=$stmt->fetch(PDO::FETCH_BOTH); //(默認(rèn))兩種同時獲取 $row=$stmt->fetch(PDO::FETCH_NUM); //索引數(shù)組 $row=$stmt->fetch(PDO::FETCH_OBJ); //返回對象 //fetchAll():得到結(jié)果集中的所有記錄 $row=$stmt-> fetchAll(); //默認(rèn)得到的結(jié)果為關(guān)聯(lián)數(shù)組和索引數(shù)組 //可以通過設(shè)置fetchAll()方法參數(shù)獲得返回結(jié)果的不同形式(參數(shù)設(shè)置方法與fetch()類似) //可以通過設(shè)置setFetchMode()方法參數(shù)改變fetch()或fetchAll()的默認(rèn)返回值形式(參數(shù)設(shè)置方法與fetch()類似) PDOStatement中內(nèi)置有結(jié)果集指針,當(dāng)用fetch()獲取一條結(jié)果集中的記錄后,指針將會移動指向下一條記錄,不論是用fetch()或fetchAll()取記錄,將從指針?biāo)赣涗涢_始取查看全部
-
雖然query()方法是用來查詢的,但是插入數(shù)據(jù)依然有效,增刪改推薦用exec()方法。 <?php try{ $dsn = 'mysql:host=localhost;dbname=querytest'; $dbh = new PDO($dsn, 'root', '123456'); /*使用query()方法查詢數(shù)據(jù)*/ $sql = 'select * from pre_info where id=10'; $stm = $dbh->query($sql); foreach($stm as $row) { echo $row['name'].' - '.$row['email'].'<br />'; } }catch(PDOException $e) { echo $e->getMessage(); }查看全部
-
errorCode()和errorInfo()方法查看錯誤信息 $pdo->errorCode():返回數(shù)據(jù)庫句柄上一次操作相關(guān)的SQLSTATE的值 $pdo->errorInfo():返回的錯誤信息的數(shù)組,數(shù)組中包含3個單元【0=>SQLSTATE(錯誤碼),1=>CODE(錯誤編號),2=>INFO(錯誤信息)】查看全部
-
1.手動更改自增長的id 通過修改表結(jié)構(gòu) alter table 表名 auto_increment=更改的數(shù); 也可以手動刪除所有記錄: 1).將自增長id從1從新開始自增 truncate table 表名, 在事務(wù)中可以通過回滾(ROLLBACK)回復(fù)數(shù)據(jù); 2).DELETE FROM 表名 [WHERE 條件], 在事務(wù)中可以通過回滾(ROLLBACK)回復(fù)數(shù)據(jù); 2.pdo對象方法lastInsertId():得到新插入記錄的ID號 $pdo->lastInsertId();查看全部
-
//exec():執(zhí)行一條sql語句并返回其受影響的記錄的條數(shù),如果沒有受影響的記錄,他返回0 //exec對于select沒有作用 $sql=<<<EOF CREATE TABLE IF NOT EXISTS user( id INT UNSIGNED AUTO_INCREMENT KEY, username VARCHAR(20) NOT NULL UNIQUE, password CHAR(32) NOT NULL, email VARCHAR(30) NOT NULL ); EOF; $res=$pdo->exec($sql); var_dump($res);查看全部
-
Pdo連接數(shù)據(jù)庫有3種方法 dns:Data Source Name,數(shù)據(jù)源 1.通過參數(shù)(直接在php程序中指定數(shù)據(jù)源=具體參數(shù))(UP推薦用這種方式) $dsn="mysql:host=localhost;dbname=imooc"; //$dsn=“驅(qū)動器名稱:host=主機(jī)地址;dbname=數(shù)據(jù)庫名稱” 每種驅(qū)動需要不同的信息 2.通過uri 將mysql:host=local;dbname=imooc寫入文件,然后$dsn=“uri:file://絕對路徑或相對路徑\文件名”; 3.通過配置文件 配置文件php.ini中(隨便找一行)定義pdo.dsn.imooc=“mysql:host=local;dbname=imooc” //第一個imooc為名數(shù)據(jù)源名稱,方便php程序中調(diào)用 php程序中 然后$dsn=imooc Try{ $p=new pdo($dsn,"root","123456"); } Catch(pdoexception $e){ Echo $e->getmessage() } URI和URL區(qū)別 1.URL 是全球資源定位符的英文所寫,您平時上網(wǎng)時在 IE 瀏覽器中輸入的那個地址就是 URL 。比如:網(wǎng)易 http(服務(wù)方式)://www.163.com(主機(jī) IP 地址) 就是一個 URL 。 2.URI 是 Web 上可用的每種資源 - HTML 文檔、圖像、視頻片段、程序 , 由一個通過通用資源標(biāo)志符 (Universal Resource Identifier, 簡稱 "URI") 進(jìn)行定位。 URL 的格式由下列三部分組成 : 第一部分是協(xié)議 ( 或稱為服務(wù)方式 ); 第二部分是存有該資源的主機(jī) IP 地址 ( 有時也包括端口號 ); 第三部分是主機(jī)資源的具體地址。 URI 一般由三部分組成 : 訪問資源的命名機(jī)制。 存放資源的主機(jī)名。 資源自身的名稱,由路徑表示 通俗理解 : URI就是一種資源定位機(jī)制,它是比較籠統(tǒng)地定位了資源,并不局限于客戶端和服務(wù)器, 而URL就定位了網(wǎng)上的一切資源,只要是網(wǎng)上的資源,都有唯一的URL.查看全部
-
一、PDO,數(shù)據(jù)庫訪問抽象層,統(tǒng)一各種數(shù)據(jù)庫的訪問接口 二、PDO特性: 1.編碼一致性:PDO提供可用于各種數(shù)據(jù)庫的單一接口 2.靈活性:pdo在運(yùn)行時必須加載數(shù)據(jù)庫驅(qū)動程序,所以不需要在每次使用不同的數(shù)據(jù)庫時 重新配置或重新編譯 3.高性能:C語言編寫,編譯為php 4.面向?qū)ο筇匦?注意:pdo只是一個抽象的接口層,利用pdo本身并不能實現(xiàn)任何數(shù)據(jù)庫的操作,必須使用特定的形式把各自的特色表現(xiàn)出來查看全部
-
每執(zhí)行一條查詢,自己都有一個隱藏的事務(wù),當(dāng)執(zhí)行完成之后自己立刻就提交了,而且無法改變查看全部
-
在SQL中,通常都是在自動提交模式下進(jìn)行的操作查看全部
-
事務(wù)就是把很多事情當(dāng)作一件事情來做,要么都成功,要么都失敗查看全部
-
使用預(yù)處理語句的好處: 1.一次編譯多次執(zhí)行 2.減少系統(tǒng)開銷 3.只有當(dāng)值發(fā)生變化的時候才會再次執(zhí)行 4.防止sql注入查看全部
-
PDO事務(wù) 引擎:INNODB $pdo->beginTransaction();//開啟事務(wù) $pdo->commit(); $pdo->rollBack();//報錯回滾,寫在catch里查看全部
-
更多的使用query來查詢記錄,但是增刪改一般使用exec查看全部
-
PDO對象的方法查看全部
舉報
0/150
提交
取消