日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

Yii學(xué)習(xí)總結(jié)之?dāng)?shù)據(jù)訪問對象 (DAO)(2)_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:十幅圖告訴你什么是PHP引用
這篇文章主要介紹了十幅圖告訴你什么是PHP引用,需要的朋友可以參考下 在一篇文章中看到關(guān)于PHP引用的圖解,對于加深對PHP引用的理解很有幫助,在這里備份一下。 如果你對PHP的引用一點也不了解,可以先看我之前的博客:PHP的引用詳解 十分全面的總結(jié),非常有助于我們理

開始事務(wù).
一個個執(zhí)行查詢。任何對數(shù)據(jù)庫的更新對外界不可見。
提交事務(wù)。如果事務(wù)成功,更新變?yōu)榭梢姟?br /> 如果查詢中的一個失敗,整個事務(wù)回滾。
上述工作流可以通過如下代碼實現(xiàn):

 

復(fù)制代碼 代碼如下:
$transaction=$connection->beginTransaction();
try
{
$connection->createCommand($sql1)->execute();
$connection->createCommand($sql2)->execute();
//.... other SQL executions
$transaction->commit();
}
catch(Exception $e) // 如果有一條查詢失敗,則會拋出異常
{
$transaction->rollBack();
}

 

5. 綁定參數(shù)
要避免 SQL 注入攻擊 并提高重復(fù)執(zhí)行的 SQL 語句的效率, 你可以 "準(zhǔn)備(prepare)"一條含有可選參數(shù)占位符的 SQL 語句,在參數(shù)綁定時,這些占位符將被替換為實際的參數(shù)。

參數(shù)占位符可以是命名的 (表現(xiàn)為一個唯一的標(biāo)記) 或未命名的 (表現(xiàn)為一個問號)。調(diào)用CDbCommand::bindParam() 或 CDbCommand::bindValue() 以使用實際參數(shù)替換這些占位符。 這些參數(shù)不需要使用引號引起來:底層的數(shù)據(jù)庫驅(qū)動會為你搞定這個。 參數(shù)綁定必須在 SQL 語句執(zhí)行之前完成。

 

代碼如下:
// 一條帶有兩個占位符 ":username" 與 ":email"的 SQL
$sql="INSERT INTO tbl_user (username, email) VALUES(:username,:email)";
$command=$connection->createCommand($sql);
// 用實際的用戶名替換占位符 ":username"
$command->bindParam(":username",$username,PDO::PARAM_STR);
// 用實際的 Email 替換占位符 ":email"
$command->bindParam(":email",$email,PDO::PARAM_STR);
$command->execute();
// 使用新的參數(shù)集插入另一行
$command->bindParam(":username",$username2,PDO::PARAM_STR);
$command->bindParam(":email",$email2,PDO::PARAM_STR);
$command->execute();

 

方法 bindParam() 與 bindValue() 非常相似。唯一的不同就是前者使用一個 PHP 變量綁定參數(shù), 而后者使用一個值。對于那些內(nèi)存中的大數(shù)據(jù)塊參數(shù),處于性能的考慮,應(yīng)優(yōu)先使用前者。

有關(guān)綁定參數(shù)的更多信息,請參考 相關(guān)的PHP文檔。

6. 綁定列
當(dāng)獲取查詢結(jié)果時,你也可以使用 PHP 變量綁定列。 這樣在每次獲取查詢結(jié)果中的一行時就會自動使用最新的值填充。

 

代碼如下:
$sql="SELECT username, email FROM tbl_user";
$dataReader=$connection->createCommand($sql)->query();
// 使用 $username 變量綁定第一列 (username)
$dataReader->bindColumn(1,$username);
// 使用 $email 變量綁定第二列 (email)
$dataReader->bindColumn(2,$email);
while($dataReader->read()!==false)
{
// $username 與 $email 含有當(dāng)前行中的 username 與 email
}

 

7. 使用表前綴
從版本 1.1.0 起, Yii 提供了集成了對使用表前綴的支持。 表前綴是指在當(dāng)前連接的數(shù)據(jù)庫中的數(shù)據(jù)表的名字前面添加的一個字符串。 它常用于共享的服務(wù)器環(huán)境,這種環(huán)境中多個應(yīng)用可能會共享同一個數(shù)據(jù)庫,要使用區(qū)別的表前綴以相互區(qū)分。 例如,一個應(yīng)用可以使用 tbl_ 作為表前綴而另一個可以使用 yii_。

要使用表前綴,配置 CDbConnection::tablePrefix 屬性為所希望的表前綴。 然后,在 SQL 語句中使用{{TableName}} 代表表的名字,其中的 TableName 是指不帶前綴的表名。 例如,如果數(shù)據(jù)庫含有一個名為tbl_user 的表,而 tbl_ 被配置為表前綴,那我們就可以使用如下代碼執(zhí)行用戶相關(guān)的查詢:

 

代碼如下:
$sql='SELECT * FROM {{user}}';
$users=$connection->createCommand($sql)->queryAll();

分享:PHP的引用詳解
本文這里向大家全面展示了PHP的引用,十分的詳細,搭配示例,是篇非常不錯的文章,推薦給有需要的小伙伴們參考下。 引用是什么 在 PHP 中引用意味著用不同的名字訪問同一個變量內(nèi)容。這并不像 C 的指針,替代的是,引用是符號表別名。注意在 PHP 中,變量名和變量內(nèi)容

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-13
相關(guān)PHP教程