yii mysql_Yii2框架操作數據庫的方法分析【以mysql為例】

本文實例講述了Yii2框架操作數據庫的方法。分享給大家供大家參考,具體如下:

準備數據庫

DROP TABLE IF EXISTS `pre_user`;

CREATE TABLE `pre_user`(

`id` int(11) AUTO_INCREMENT PRIMARY KEY,

`username` varchar(255) NOT NULL,

`password` varchar(32) NOT NULL DEFAULT '',

`password_hash` varchar(255) NOT NULL DEFAULT '',

`email` varchar(255) NOT NULL DEFAULT '',

`status` smallint(6) NOT NULL DEFAULT 10,

`created_at` smallint(6) NOT NULL DEFAULT 0,

`updated_at` smallint(6) NOT NULL DEFAULT 0

)ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

配置連接

config\db.php

return [

'class' => 'yii\db\Connection',

'dsn' => 'mysql:host=localhost;dbname=yii2',

'username' => 'root',

'password' => 'root',

'charset' => 'utf8mb4',

'tablePrefix' => 'pre_'

];

查看數據庫連接是否成功

控制器里打印:

var_dump(\Yii::$app->db);

d71eacdad4a535b4090b53c7ee3a721e.png

怎么執行SQL語句?

增刪改

// 接收表單的數據

$username = 'jack';

$sql = "INSERT INTO {{%user}} (username,status) VALUES (:username,:status)";

// 返回受影響行數

$row = \Yii::$app->db->createCommand($sql,['username'=>$username,'status'=>8])->execute();

// 獲取自增ID

echo \Yii::$app->db->getLastInsertID();

查詢

$sql = "SELECT * FROM {{%user}} WHERE id>:id";

// 查詢結果是一個二維數組

$userArr = \Yii::$app->db->createCommand($sql,['id'=>1])->queryAll();

// 如果要查詢一個

$user = \Yii::$app->db->createCommand($sql,['id'=>1])->queryOne();

// 如果要返回單值

// 例如 select count(*)語句

$count = \Yii::$app->db->createCommand($sql,['id'=>1])->queryScalar();

echo $count;

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/275918.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/275918.shtml
英文地址,請注明出處:http://en.pswp.cn/news/275918.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++接口注意

1. 用Record接口,要注意 Packed的區別 2. cdecl和stdcall的區別 3. C導出的函數建議用C格式stdcall導出,使用Def文件定義名稱 4. 用VS寫的API dll要注意是否引用了MFC的DLL,否則會使LoadLibrary失敗,并GetLastError后返回14001 Ap…

Vue 3.1.0 的 beta 版發布

大家好,我是若川(點這里加我微信 ruochuan12,長期交流學習)。昨晚尤大視頻號直播說到vue 3.1.0 beta版發布了,今天分享這篇文章。也有小伙伴可能注意到了昨晚我一直在送禮物。點擊下方卡片關注我、加個星標&#xff0c…

設計模式練習_設計練習是邪惡的

設計模式練習It was the final round of interviews. Or, so the candidate thought.這是采訪的最后一輪。 或者,所以候選人認為。 She’d spent all day interviewing in our office. As the final interviewer, I walked her out the building. She seemed confi…

morningcat2018 LearningDocs

2019獨角獸企業重金招聘Python工程師標準>>> LearningDocs 學習資料與文檔 JCP(Java Community Process ,Java社區進程 ) https://www.jcp.org/en/home/index JSR(Java Specification Requests,Java規范請求…

firefox下可惡的value

前幾天做項目 遇到這樣一個情況 document.getElementById("txtTest").value "111"; 這條語句在ff下和ie下都是好用的 但是用開發工具看html代碼 ie下顯示正常 ff下顯示的卻是修改之前的(實際上已經修改了,只是html沒有修改過來) 用js修改input…

據說 99% 的人不知道 vue-devtools 還能直接打開對應組件文件?本文原理揭秘

1. 前言你好,我是若川[1],微信搜索「若川視野」關注我,專注前端技術分享,一個愿景是幫助5年內前端開闊視野走向前列的公眾號。歡迎加我微信ruochuan12,長期交流學習。這是學習源碼整體架構系列 之 launch-editor 源碼&…

mysql 存儲 事務_MYSQL 可以在存儲過程里實現事務控制嗎

展開全部6.7 MySQL 事務與鎖定命令6.7.1 BEGIN/COMMIT/ROLLBACK 句法缺省的,MySQL 運行在 autocommit 模式。這就意味著,當你執行完一e69da5e887aa62616964757a686964616f31333361326265個更新時,MySQL 將立刻將更新存儲到磁盤上。如果你使用…

如何忽略證書繼續訪問_前5個最容易被忽視的可訪問性問題

如何忽略證書繼續訪問Accessibility is quickly becoming one of the most important aspects of the way we use the web, if not the most important. Just between 2017 and 2018, the number of federal court cases regarding web accessibility nearly tripled, signifyi…

《認清C++語言》のrandom_shuffle()和transform()算法

1&#xff09;STL中的函數random_shuffle()用來對一個元素序列進行重新排序&#xff08;隨機的&#xff09;&#xff0c;函數原型如下&#xff1a; template<class RandomAccessIterator> void random_shuffle( RandomAccessIterator _First, //指向序列首元素的迭代器 R…

作為前端開發,如何高效學習 TypeScript

大家好&#xff0c;我是若川。有朋友跟我說最近面試前端候選人&#xff0c;問到關于 JavaScript 的一些少見誤區問題&#xff0c;候選人很多都沒回答上來&#xff0c;他很詫異&#xff0c;一個從國際大廠出來的面試者&#xff0c;竟然對 JavaScript 的一些誤區問題都不了解。他…

figma下載_對于這10家公司,Figma是邁向新高度的起點

figma下載Hey everyone! In this post, we are highlighting 10 companies for which the use of Figma has become the starting point on the path to new heights. These are the use cases of problems and their solutions, where Figma played a decisive role.嘿大家&am…

mysql查詢條件為or_使用mysql查詢where條件里的or和and

為什么要著重講這塊內容呢?因為好多小伙伴都會混淆&#xff0c;要不就是不知道怎么組合使用&#xff0c;今天就給大家講這部分內容干貨&#xff0c;讓大家半分鐘看懂。AND、OR運算符的組合使用在WHERE子句中&#xff0c;通過AND、OR運算符可以同時連接多個條件&#xff0c;當然…

sql server(常用)

普通用法 //生成 uuid 并轉為小寫 select LOWER(SUBSTRING(uuid,1,8)-SUBSTRING(uuid,10,4)-SUBSTRING(uuid,15,4)-SUBSTRING(uuid,20,4)-SUBSTRING(uuid,25,12)) from (select cast(NEWID() as varchar(36)) as uuid) s //ea52a7bb-a2aa-44b8-be28-5ebc64defcf9//獲取時分秒…

代碼編寫中會遇到的安全性問題

一、常用的攻擊手段 1&#xff0e;腳本注入 漏洞描述&#xff1a; 腳本注入攻擊在通過瀏覽器使用用戶輸入框插入惡意標記或腳本代碼時發生。 如&#xff1a;某個輸入框允許用戶向數據存儲中插入內容&#xff0c;如果將一段js腳本插入其中&#xff0c;則當其他用戶使用或瀏覽此數…

TypeScript 原來可以這么香?!

先問一個問題&#xff0c;JavaScript有幾種數據類型&#xff1f;number、string、boolean、null、undefined、symbol、bigint、object其中 bigint 是 ES2020 新增的數據類型&#xff0c;而早在 TS3.2 時便成為 TS 的標準&#xff0c;其實還有好多 ES 標準是 TS 率先提出的&…

java8新特性stream深入解析

2019獨角獸企業重金招聘Python工程師標準>>> 繼續java8源碼的發燒熱&#xff0c;越看越是有充實的感覺。 數據時代下的產物 Java順應時代的發展推出的高效處理大量數據能力的api&#xff0c;它專注于對集合對象進行各種非常便利、高效的聚合操作&#xff0c;借助于同…

mysql內連接的自連接_mysql 內連接、外連接、自連接

一)內連接(等值連接)&#xff1a;查詢客戶姓名&#xff0c;訂單編號&#xff0c;訂單價格---------------------------------------------------select c.name,o.isbn,o.pricefrom customers c inner join orders owhere c.id o.customers_id;-------------------------------…

關于ASP.NET MVC

我是否要學習一下ASP.NET MVC呢&#xff1f;因爲從它剛發布的時候就已經初步的學習了一下&#xff0c;可是一直沒有堅持下來。不過心里對于這份惦記&#xff0c;又讓我始終放不下&#xff0c;看來應該抽個時間來系統的學習一下。 就這樣吧&#xff0c;把自己的博客當成微博來使…

版式設計與創意 pdf_戀愛與版式

版式設計與創意 pdfSince its beginnings, Libe?ration has been characterized by a very distinctive use of typeface, to such an extent that Libe? has put its mark on fonts from across different eras, appropriating these in a certain way.小號因斯它的起點&…

移動網站開發——標記語言

移動互聯網被稱為“第五次科技革命”&#xff0c;而隨著iPhone和Android等智能手機的日漸流行和iPad等平板電腦的出現&#xff0c;移動互聯網的潛力和趨勢也愈發顯現&#xff0c;針對移動設備的網站開發越來越受到關注&#xff0c;國內很多公司也開始重視面向所有移動設備的網站…