麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > CMS > Wordpress > 正文

wordpress直接操作數(shù)據(jù)庫的方法

2024-09-07 00:52:33
字體:
供稿:網(wǎng)友

wordpress占據(jù)全球40%的網(wǎng)站地位,是世界上使用最活躍的內(nèi)容管理系統(tǒng)(CRM)。學(xué)習(xí)成本低,社區(qū)活躍等特點(diǎn)使他一直成為草根站長最喜愛的內(nèi)容管理系統(tǒng)。

wordpress本身由于其強(qiáng)大的功能,讓非常多的程序員直接在其之上開發(fā)功能強(qiáng)大的系統(tǒng),比如商城系統(tǒng),以及一些負(fù)責(zé)的管理系統(tǒng)。

但是由于wordpress最初就是定位于博客系統(tǒng),其數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的非常的簡單,基本上所有的復(fù)雜類型數(shù)據(jù)都只能已文章的形式展示出來。如果數(shù)據(jù)量大。wordpress那原本的數(shù)據(jù)表結(jié)構(gòu)就會(huì)顯得非常不合理。因此默認(rèn)的wordpress結(jié)構(gòu)原本也不適合百萬級(jí)別的大數(shù)據(jù)管理。

如果用戶想使用wordpress作為框架開發(fā)系統(tǒng),建議復(fù)雜的數(shù)據(jù)類型全部采用自己建立數(shù)據(jù)庫的方式處理,wordpress有完善的數(shù)據(jù)庫函數(shù),下面我就來介紹一下相關(guān)的幾個(gè)函數(shù)。

一、sql語句處理,防止sql注入攻擊。

$sql = $wpdb -> prepare("query",[%d,%d,%s])

例如:

$sql = $wpdb -> prepare("SELECT * FROM `user` WHERE `username` = %s AND `password` = %s", $username, $password);

用這種方式,函數(shù)可以判斷$username與$password是否是純參數(shù),不能作為執(zhí)行語句處理。

二、獲取單一數(shù)據(jù),在一般sql語句就只返回一個(gè)數(shù)值時(shí)使用。

$var = $wpdb -> get_var("query");

例如:

$var = $wpdb -> get_var("SELECT count(*) FROM `user`");

這個(gè)函數(shù)直接返回值,可以直接使用。

注:其實(shí)get_var并不是僅僅只能用于就返回一個(gè)數(shù)值的sql語句,而是他默認(rèn)只返回第一行最左邊的元素。如果希望他返回其他元素,可以使用get_var("query", x, y)來實(shí)現(xiàn)。

三、獲取一行數(shù)據(jù),在一般sql語句就只返回特定對(duì)象時(shí)使用。

$sql = $wpdb -> get_row("query", output_type);

例如:

$var = $wpdb -> get_row("SELECT * FROM `user` WHERE `userid` = 1", ARRAY_A);

output_type:三個(gè)預(yù)定義的常量之一。默認(rèn)值為OBJECT。

OBJECT —— 返回的結(jié)果以對(duì)象形式輸出

ARRAY_A ——返回的結(jié)果以關(guān)聯(lián)數(shù)組形式輸出

ARRAY_N —— 返回的結(jié)果以數(shù)值索引數(shù)組形式輸出

我通常使用OBJECT或是ARRAY_A,訪問方式分別為$var -> username(output_type為OBJECT時(shí))或是$var["username"](output_type為ARRAY_A時(shí))

注:其實(shí)get_row并不是僅僅只能用于就返回一行的sql語句,而是他默認(rèn)只返回第一行的集合。如果希望他返回其他行,可以使用get_row("query", output_type, y)來實(shí)現(xiàn)。

四、獲取一列數(shù)據(jù),在一般sql語句就只返回特定屬性時(shí)使用。

$sql = $wpdb -> get_col("query");

例如:

$var = $wpdb -> get_col("SELECT `age` FROM `user`);

返回的結(jié)果以數(shù)值索引數(shù)組形式輸出,一般通過foreach函數(shù)分離,或是直接使用$var[1]這樣的方式獲取。

注:其實(shí)get_col并不是僅僅只能用于就返回一列的sql語句,而是他默認(rèn)只返回第一列的集合。如果希望他返回其他列,可以使用get_col("query", x)來實(shí)現(xiàn)。

五、獲取多列數(shù)據(jù),在一般sql語句就只返回特定屬性時(shí)使用。

$sql = $wpdb -> get_results("query", output_type);

例如:

$vars = $wpdb -> get_results("SELECT * FROM `user`, ARRAY_A);

返回的結(jié)果以數(shù)值索引數(shù)組形式包其他形式輸出,一般通過foreach函數(shù)分離,或是直接使用$var[1]這樣的方式獲取。獲取的對(duì)象受第二個(gè)參數(shù)控制

output_type:三個(gè)預(yù)定義的常量之一。默認(rèn)值為OBJECT。

OBJECT —— 返回的結(jié)果以對(duì)象形式輸出

ARRAY_A ——返回的結(jié)果以關(guān)聯(lián)數(shù)組形式輸出

ARRAY_N —— 返回的結(jié)果以數(shù)值索引數(shù)組形式輸出

我通常使用OBJECT或是ARRAY_A,訪問方式分別為$var -> username(output_type為OBJECT時(shí))或是$var["username"](output_type為ARRAY_A時(shí))

例如

  1. foreach($vars as $var) { 
  2.     echo $var["username"];//output_type是ARRAY_A時(shí) 

五、插入新數(shù)據(jù)

$id = $wpdb -> insert("table_name", array(), array(%s, %d));

例如:

$id = $wpdb -> insert("table_name", array("username" => $username,"password" => $password, "age" => $age), array("%s", "%s", "%d"));

第一個(gè)參數(shù)是將要寫入的數(shù)據(jù)以數(shù)組形式插入。第二個(gè)參數(shù)是申明插入的數(shù)據(jù)類型,同時(shí)也有一定的反sql注入式攻擊的效果。返回值為新建的那條數(shù)據(jù)的主鍵。

六、更新新數(shù)據(jù)

$id = $wpdb -> update("table_name", array(), array(),array(%s, %d), array(%s, %d));

例如:

$id = $wpdb -> update("table_name", array("username" => $username, "password" => $password, "age" => $age), array("ID" => $ID), array("%s", "%s", "%d"), array("%d"));

第一個(gè)參數(shù)是將要寫入的數(shù)據(jù)以數(shù)組形式插入。第二個(gè)參數(shù)是過濾條件,也就是sql語句中where后的參數(shù)。第三個(gè)參數(shù)是要更新數(shù)據(jù)的數(shù)據(jù)類型,第四個(gè)參數(shù)是過濾條件的數(shù)據(jù)類型。返回值為更新的那條數(shù)據(jù)的主鍵。

七、刪除數(shù)據(jù)

$id = $wpdb -> delete("table_name", array(), array(%s, %d));

例如:

$id = $wpdb -> update("table_name", array("ID" => $ID), array("%d"));

第一個(gè)參數(shù)是過濾條件,也就是sql語句中where后的參數(shù)。第二個(gè)參數(shù)是過濾條件的數(shù)據(jù)類型。返回值為刪除的數(shù)目。

通過上述函數(shù)直接對(duì)數(shù)據(jù)庫操作,可以大大提高系統(tǒng)的運(yùn)行速度,讓wordpress也適合開發(fā)大型系統(tǒng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙的两根好大拔不出去h | 国产精品91久久久 | 史上最强炼体老祖动漫在线观看 | 日朝毛片 | 日韩一级片黄色 | 黄色片网站在线看 | 激情亚洲一区二区 | 色女人在线 | 91网站免费在线观看 | 黄色成人小视频 | 欧美一区在线观看视频 | 激情大乳女做爰办公室韩国 | 亚洲综合视频在线播放 | 日韩欧美精品电影 | 巨根插入 | 久久久一区二区三区视频 | 黄色影院av | 永久免费在线观看av | 叶子楣成人爽a毛片免费啪啪 | 欧美日韩1区2区3区 黄片毛片一级 | 他也色在线视频 | 精品国产乱码久久久久久久久 | 成人一区二区三区在线 | 一级观看免费完整版视频 | 精品中文字幕在线播放 | 亚洲片在线| 免费视频aaa | 久久精品爱 | 国产精品成人av片免费看最爱 | 全视频tv | 把娇妻调教成暴露狂 | 国产剧情在线观看一区二区 | 一区二区视 | 12av毛片 | 小视频免费在线观看 | 亚洲精品久久久久久久久久久 | 成人午夜精品久久久久久久3d | 色交视频 | 国产高清一区 | 国产精品啪一品二区三区粉嫩 | 一本色道久久久888 香蕉视频99 |