真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php操縱數(shù)據(jù)庫(kù) php數(shù)據(jù)庫(kù)管理系統(tǒng)

php如何使用類和數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)操作

貼出自己寫(xiě)的一個(gè)數(shù)據(jù)庫(kù)類吧。

創(chuàng)新互聯(lián)專注于孟連網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供孟連營(yíng)銷型網(wǎng)站建設(shè),孟連網(wǎng)站制作、孟連網(wǎng)頁(yè)設(shè)計(jì)、孟連網(wǎng)站官網(wǎng)定制、微信小程序開(kāi)發(fā)服務(wù),打造孟連網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供孟連網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

class.php

?php

class Db_Base

{

var $db_host;

var $db_name;

var $db_user;

var $password;

var $linkID;

var $sql;

var $result;

//構(gòu)造函數(shù),其中dbname,dbuser,dbpsd填自己的數(shù)據(jù)名,用戶名,密碼

function __construct()

{

$this-linkID = 0;

$this-sql = "";

$this-db_name="dbname";

$this-db_user="dbuser";

$this-password="dbpsd";

$this-db_host="localhost";

//調(diào)用數(shù)據(jù)庫(kù)鏈接函數(shù)

$this-Db_Connect();

}

function Db_Base()

{

$this-__construct();

}

//鏈接數(shù)據(jù)庫(kù)函數(shù)

function Db_Connect()

{

$this-linkID=@mysql_connect($this-db_host,$this-db_user,$this-password);

if(!$this-linkID)

{

DisplayError("連接失敗");exit();

}

$this-Db_Select();

return true;

}

//選擇數(shù)據(jù)庫(kù)函數(shù)

function Db_Select()

{

$select=mysql_select_db($this-db_name);

if(!$select)

{

DisplayError("選擇數(shù)據(jù)庫(kù)失敗");exit();

}

}

//sql語(yǔ)句操作

function Db_Query($sql)

{

if($sql) $this-sql=$sql;

if(!($this-result=mysql_query($this-sql,$this-linkID)))

{

DisplayError("SQL無(wú)效");

return 0;

}

else

{

return $this-result;

}

}

//sql語(yǔ)句的結(jié)果用數(shù)組返回

function Db_Fetch_Array()

{

return mysql_fetch_array($this-result);

}

//select語(yǔ)句 影響的行數(shù)

function Db_Num_Rows()

{

return mysql_num_rows($this-result);

}

//INSERT、UPDATE 、DELETE 的影響行數(shù)

function Db_Affected_Rows()

{

return mysql_affected_rows();

}

//清除記錄

function Db_Free_Result()

{

if(!is_array($this-result)) return "";

foreach($this-result as $kk = $vv)

{

if($vv) @mysql_free_result($vv);

}

}

?

其中DisplayError 為外部定義函數(shù)

應(yīng)用的話,如下操作

example.php

?php

require_once(class.php);

$news=new Db_Base();//構(gòu)建對(duì)象

$sql="select * from tableA limit 0,100";//初始化sql語(yǔ)句

$news-Db_Query($sql);//向數(shù)據(jù)庫(kù)插入sql語(yǔ)句

while($re=$news-Db_Fetch_Array())//循環(huán)輸出sql結(jié)果集

{

echo $re[keyA];

echo $re[keyB];//keyA,keyB為你數(shù)據(jù)表的鍵

}

echo $news-Db_Num_Rows();//輸出本次sql語(yǔ)句影響的行數(shù),假若sql語(yǔ)句是update,delete,insert的,則用 Db_Affected_Rows() 函數(shù)

$news-Db_Free_Result();//清空查詢結(jié)果

?

好吧,百度的這個(gè)表單輸入框真爛,不能調(diào)格式,代碼格式可能很亂,就麻煩樓主慢慢看吧。若有問(wèn)題再發(fā)消息給我百度號(hào)。

php 操作數(shù)據(jù)庫(kù)的問(wèn)題,打印的值顯示都正常,就是更改不了?

建議在10行(sqlsrv_query)后面增加下面的語(yǔ)句:

if( $data === false ) {

echo $sql;

die( print_r( sqlsrv_errors(), true));

}

主要是查看SQL查詢是否執(zhí)行成功,另外也可以把echo $sql放在執(zhí)行前,當(dāng)需要修改的數(shù)據(jù)不存在(0條修改)的時(shí)候sqlsrv_query執(zhí)行會(huì)成功。

PHP數(shù)據(jù)庫(kù)操作之基于Mysqli的數(shù)據(jù)庫(kù)操作類庫(kù)

此類庫(kù)簡(jiǎn)單、易用,便于你自己修改和對(duì)功能的改善,能解決大部分

PHP

項(xiàng)目中執(zhí)行的

SQL

操作。

初步工作

首先,請(qǐng)大家下載這個(gè)類庫(kù)

M.class.php 再下載一個(gè)

Mysqli

連接數(shù)據(jù)庫(kù)的類庫(kù)

MysqliDb.class.php(打包下載地址)

新建一個(gè)

includes

的文件夾,將下載下來(lái)的兩個(gè)

class

文件,放進(jìn)去。

然后,請(qǐng)你在項(xiàng)目下創(chuàng)建一個(gè)

test.php

文件。注:UTF-8

文件格式

請(qǐng)先根據(jù)你機(jī)器的情況,填充以下代碼,用于連接數(shù)據(jù)庫(kù):

復(fù)制代碼

代碼如下:

header('Content-Type:text/html;Charset=utf-8');

define('ROOT_PATH',

dirname(__FILE__));

define('DB_HOST',

'localhost');

//數(shù)據(jù)庫(kù)服務(wù)器地址

define('DB_USER',

'root');

//數(shù)據(jù)庫(kù)用戶名

define('DB_PWD',

'×××');//數(shù)據(jù)庫(kù)密碼

define('DB_NAME',

'×××');

//數(shù)據(jù)庫(kù)名稱

define('DB_PORT',

'3306');

//數(shù)據(jù)庫(kù)端口

function

__autoload($className)

{

require_once

ROOT_PATH

.

'/includes/'.

ucfirst($className)

.'.class.php';

//自動(dòng)加載

class

文件

}

好了,上面的這些操作都是初步工作,下面正式進(jìn)入類庫(kù)的講解。

類庫(kù)講解

首先,我們得實(shí)例化

M.class.php,實(shí)例化很簡(jiǎn)單:

復(fù)制代碼

代碼如下:

$m

=

new

M();

//這步操作代表

M.class.php

中的所有功能都封裝在了變量

$m

注:

1、M類庫(kù)中的方法參數(shù)說(shuō)明,請(qǐng)到

M.class.php

文件中看詳細(xì)的注釋,這里不再進(jìn)行敘述。建議在學(xué)習(xí)的時(shí)候,對(duì)照著看下文件中的參數(shù)即注釋。

2、講解代碼中用到的數(shù)據(jù)庫(kù)結(jié)構(gòu)為:

復(fù)制代碼

代碼如下:

CREATE

TABLE

`user`

(

`id`

int(8)

unsigned

NOT

NULL

auto_increment,

`name`

varchar(50)

default

NULL,

`email`

varchar(100)

default

NULL,

`age`

smallint(3)

default

NULL,

`class_id`

int(8)

default

NULL,

`commit_time`

int(10)

default

NULL,

PRIMARY

KEY

(`id`),

KEY

`name`

(`name`)

)

ENGINE=MyISAM

DEFAULT

CHARSET=utf8

復(fù)制代碼

代碼如下:

CREATE

TABLE

`class`

(

`class_id`

int(8)

NOT

NULL

auto_increment,

`class_name`

varchar(100)

default

NULL,

PRIMARY

KEY

(`class_id`)

)

ENGINE=InnoDB

DEFAULT

CHARSET=utf8

并添加一條測(cè)試數(shù)據(jù)。

3、M類庫(kù)中,大部分方法都分兩中類型,即:SQL方法;拼接方法,具體在實(shí)例中可以看出

4、以下稱述中的

M

M.class.php

文件

方法1、Insert()

添加數(shù)據(jù)

Insert

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()));

//

拼接方法:往`user`表中添加一條數(shù)據(jù),返回值為數(shù)據(jù)庫(kù)影響的行數(shù)

$m-Insert("user",

null,

array('焦焦',

'liruxing1715@sina.com',

'23',

time()),

true);

//

功能同上,返回

last_insert_id(插入的增長(zhǎng)id)

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')");

//SQL方法,返回值為數(shù)據(jù)庫(kù)影響的行數(shù)

$m-Insert("INSERT

INTO

`user`

(`name`,

`email`,

`age`,

`commit_time`)

VALUES

('張小花',

'zhangxiaohua@sina.com.cn',

'22',

'".time()."')",

true);

//

同上,返回

last_insert_id

注:Insert

方法中的第二個(gè)參數(shù)若為null,可自動(dòng)獲得插入表除

auto_increment

字段之外的所有字段,詳情請(qǐng)看M源文件;若要返回值為最后插入的

ID,那么請(qǐng)?jiān)O(shè)置

Insert

方法的最后一個(gè)參數(shù)為

true(默認(rèn)是false);

方法2、Update()

修改數(shù)據(jù)

update

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Update("user",

array('name'='李茹茹',

'age'=24),

"id=1");

//拼接方法,修改id為1的數(shù)據(jù)的名稱為“李茹茹”;年齡為“24”,其方法的返回值為受影響的行數(shù)

$m-Update("UPDATE

`user`

SET

`name`='李茹茹',

`age`=24

WHERE

id

=

1");

//SQL

用法,功能同上

方法3、Del()

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

Del

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Del('user',

'id=3');

//拼接方法:刪除`user`表中

id

為3的數(shù)據(jù),返回受影響的行數(shù)

$m-Del("DELETE

FROM

`user`

WHERE

id=4");

//SQL方法:刪除`user`表中

id

為4的數(shù)據(jù),返回受影響的行數(shù)

$m-Del("DELETE

FROM

`user`

WHERE

id

in

(10,

11,

12)");

//SQL方法:刪除多條數(shù)據(jù),刪除`user`表中

id

10、11、12

的數(shù)據(jù),返回受影響的行數(shù)

方法4、Total()

獲取記錄數(shù),返回值都為int

Del

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$m-Total('user');

//拼接方法:返回

`user`表中的記錄數(shù),無(wú)條件

$m-Total('user',

'id1');

//拼接方法:返回

`user`表中

id

大于1的記錄數(shù),有條件

$m-Total("SELECT

COUNT(*)

AS

total

FROM

`user`");

//SQL方法,注:使用SQL方法,語(yǔ)句中必須使用

"AS

total",否則會(huì)報(bào)錯(cuò)

方法5、IsExists()

檢查數(shù)據(jù)是否存在,返回值為boolean

復(fù)制代碼

代碼如下:

$m-IsExists('user',

"`name`='焦焦'");

//拼接方法:返回`user`表中是否存在`name`為“焦焦”的數(shù)據(jù),返回true,若不存在,返回false

方法6、InsertId()

獲取表下一個(gè)添加的自動(dòng)增長(zhǎng)id,注意,這里不進(jìn)行添加操作,只是獲取下一個(gè)增長(zhǎng)id

復(fù)制代碼

代碼如下:

echo

$m-InsertId('user');

//獲取`user`

表下一個(gè)添加的自動(dòng)增長(zhǎng)id

方法7、GetRow()

返回單條數(shù)據(jù),返回值為一維數(shù)組

GetRow

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`

WHERE

id=1");

//SQL方法,返回一維數(shù)組,例如:Array

(

[name]

=

焦焦

[email]

=

liruxing1715@sina.com

)

$data

=

$m-GetRow("SELECT

u.`name`,

u.email,

c.class_name

FROM

`user`

u,

`class`

c

WHERE

u.class_id=c.class_id

AND

u.id=1");

//SQL方法,多表查詢

$data

=

$m-GetRow('user',

'`name`,email',

"id=1");

//拼接方法

$data

=

$m-GetRow('user

as

u,`class`

c',

'u.`name`,u.email,c.class_name',

"u.id=1

AND

u.class_id=c.class_id");

//拼接方法,多表查詢

$data

=

$m-GetRow("SELECT

`name`,email

FROM

`user`");

//如果沒(méi)有指定條件應(yīng)該是顯示全部信息,但是在此方法中將默認(rèn)顯示第一條(不推薦這么使用!?。。?/p>

$data

是查詢出來(lái)的一維數(shù)組。

方法8、GetOne()

返回單個(gè)數(shù)據(jù)

GetOne

方法的全部使用案例如下:

復(fù)制代碼

代碼如下:

$name

=

$m-GetOne("SELECT

`name`

FROM

`user`

WHERE

id=1");

//SQL方法,返回一個(gè)字符串,例如:焦焦

$name

=

$m-GetOne("user",

"name",

"id=1");

//拼接方法,返回一個(gè)字符串,例如:焦焦

方法9、FetchAll()

返回所有記錄

復(fù)制代碼

代碼如下:

$data

=

$m-FetchAll("user");

//返回`user`表中的所有記錄,以二維數(shù)組的形式

$data

=

$m-FetchAll("SELECT

*

FROM

`user`");

//SQL

方法,功能和返回值同上

$data

=

$m-FetchAll("user",

"name,email",

"id1",

'id

DESC',

'2');

//返回兩條id1的數(shù)據(jù),只顯示name,email,并且以id

為倒序排序。注:請(qǐng)注意該方法的最后一個(gè)參數(shù)也可以為'0,2',目的是為分頁(yè)準(zhǔn)備的,如果第一頁(yè)為'0,2'的話,那么第二頁(yè)就是'2,2'

//該方法也支持聯(lián)表查詢和多表查詢,下面以聯(lián)表查詢?yōu)槔?/p>

$data

=

$m-FetchAll("`user`

as

u

LEFT

JOIN

`class`

as

c

ON

u.class_id=c.class_id",

"u.`name`,u.email,

c.class_name",

"u.id=1");

//注意:該拼接方法中,ON

添加的位置

注:對(duì)于該

FetchAll

方法,后續(xù)我會(huì)寫(xiě)一篇使用該方法進(jìn)行完美分頁(yè)的文章!!請(qǐng)關(guān)注。

方法10、MultiQuery()

執(zhí)行多條SQL語(yǔ)句

復(fù)制代碼

代碼如下:

$sql

=

"INSERT

INTO

user

(`name`,email,

age,

class_id,

commit_time)

VALUES

('賈花花',

'jiahuahua@sina.com.cn',

'22',

'1',

'".time()."')";

//添加一個(gè)名叫“賈花花”的學(xué)生信息

$sql

.=

";DELETE

FROM

`user`

WHERE

`name`='焦焦'";

//刪除一條名叫“焦焦”的學(xué)生信息

//解釋:$sql

是多條

SQL

以英文;(分號(hào))拼接起來(lái)的

$data

=

$m-MultiQuery($sql);

//返回為true,代表執(zhí)行成功;為false,代表執(zhí)行失敗

類庫(kù)講解完畢

到此該類庫(kù)的全部功能就講解完畢,希望你能多看看M文件,了解其內(nèi)部運(yùn)行的機(jī)制。M

文件不會(huì)存在執(zhí)行緩慢情況,請(qǐng)大家放心使用。

如果在使用過(guò)程中出現(xiàn)

SQL

拼接錯(cuò)誤,類庫(kù)會(huì)報(bào)出友善的錯(cuò)誤提示。

有問(wèn)題請(qǐng)留言,歡迎大家的批評(píng)和建議,加油!學(xué)習(xí)好運(yùn)。

如何在Wordpress中自定義PHP頁(yè)面并操作數(shù)據(jù)庫(kù)

1. 嘗試設(shè)置一個(gè)頁(yè)面模板

1)拷貝一個(gè)index.php并改名為其它名,如list.php;

2)在list.php頁(yè)面最頂部添加

?php /*

Template Name: 友鏈

*/

?

以上兩步就可以創(chuàng)建一個(gè)頁(yè)面模板了,修改并保存好這個(gè)文件后,創(chuàng)建一個(gè)新頁(yè)面或者修改已存在的頁(yè)面。在右下邊有個(gè)“頁(yè)面模板”的面板,在下拉菜單中選中“友鏈”后保存就可以了。

然后在頁(yè)面中添加任何內(nèi)容,包括html代碼就可以顯示了??墒俏业男枨笫且约和瓿蒔HP代碼獲取數(shù)據(jù)并展示,它不能這么做。

2. 調(diào)用 WordPress 的 API實(shí)現(xiàn)URL正確跳轉(zhuǎn)

這種方法的自由度較高,并且可以創(chuàng)建非WordPress格式的URL。比如我們要把 轉(zhuǎn)交給主題文件夾下的 /custom/list.php 來(lái)處理,就可以用這種方式來(lái)處理。這種方法用到 template redirect 鉤子,template redirect 是 WordPress 在預(yù)處理好所有參數(shù)設(shè)置之后決定調(diào)用主題模板的時(shí)候調(diào)用的。

在functions.php模板函數(shù)文件中添加以下實(shí)例代碼:

function loadCustomTemplate($template) {

global $wp_query;

if(!file_exists($template))return;

$wp_query-is_page = true;

$wp_query-is_single = false;

$wp_query-is_home = false;

$wp_query-comments = false;

// if we have a 404 status

if ($wp_query-is_404) {

// set status of 404 to false

unset($wp_query-query["error"]);

$wp_query-query_vars["error"]="";

$wp_query-is_404=false;

}

// change the header to 200 OK

header("HTTP/1.1 200 OK");

//load our template

include($template);

exit;

}

function templateRedirect() {

$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);

loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");

}

add_action('template_redirect', 'templateRedirect');

這樣就實(shí)現(xiàn)了 WordPress 查找 /custom 文件夾下的 php 文件,并且將相匹配的 URL 請(qǐng)求轉(zhuǎn)交給對(duì)應(yīng)的 php 文件來(lái)處理的效果,與此同時(shí),這個(gè) php 文件還保持了對(duì) WordPress API 的調(diào)用,因此留給我們的空間非常大。

接下來(lái)就可以在 /custom 文件夾下自定義一個(gè)list.php文件然后通過(guò)鏈接訪問(wèn)。

3. 添加頁(yè)面內(nèi)容,獲取自定義數(shù)據(jù)庫(kù)/表中的內(nèi)容

然后就可以根據(jù)需要自己需要來(lái)實(shí)現(xiàn)自己想要的功能,這里需要有以下幾點(diǎn)要處理:

1)如何操作數(shù)據(jù)庫(kù)

WordPress提供了一個(gè)全局變量$wpdb,并將其實(shí)例化為wpdb類的對(duì)象。這樣我們就可以直接使用$wpdb來(lái)調(diào)用所有的數(shù)據(jù)庫(kù)操作函數(shù)。通過(guò)這個(gè)$wpdb對(duì)象,我們可以對(duì)WordPress數(shù)據(jù)庫(kù)進(jìn)行任何操作,包括建表、查詢、刪除、更新等。使用$wpdb-get_results實(shí)現(xiàn)執(zhí)行sql語(yǔ)句操作數(shù)據(jù)庫(kù),并獲取結(jié)果。

global $wpdb;

$sql= "SELECT * FROM ".$wpdb-prefix.table;

$a = $wpdb-get_results($sql);

2)使用wordpress的樣式

通過(guò)F12查看首頁(yè)代碼就可以發(fā)現(xiàn)只要使用對(duì)應(yīng)的class樣式就能輕松讓頁(yè)面統(tǒng)一規(guī)整。那么就把對(duì)應(yīng)的html添加到自定義PHP頁(yè)面中即可。

3)利用wordpress的規(guī)則輕松實(shí)現(xiàn)翻頁(yè)

wordpress已經(jīng)默認(rèn)支持翻頁(yè),格式如:,只要在自定義的頁(yè)面里面定義好每頁(yè)返回正確的內(nèi)容就好啦。

4. 設(shè)置nginx rewrite規(guī)則

可讀性強(qiáng)的URL一定不能是這樣的格式,對(duì)爬蟲(chóng)也不友好,那就需要配置好rewrite規(guī)則,我使用的是nginx的配置為:

rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;

到現(xiàn)在為止,離成功只有一步之遙了,那就是新建一個(gè)頁(yè)面, 大功告成!


網(wǎng)站標(biāo)題:php操縱數(shù)據(jù)庫(kù) php數(shù)據(jù)庫(kù)管理系統(tǒng)
當(dāng)前鏈接:http://weahome.cn/article/doijjsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部