php調(diào)用數(shù)據(jù)庫(kù)中的列名 php怎么使用數(shù)據(jù)庫(kù)

php怎么修改數(shù)據(jù)庫(kù)表里的一列數(shù)據(jù)

update 表名 set 列名=值 where 條件 這是修改符合條件的列

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),洪江管理區(qū)企業(yè)網(wǎng)站建設(shè),洪江管理區(qū)品牌網(wǎng)站建設(shè),網(wǎng)站定制,洪江管理區(qū)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,洪江管理區(qū)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

update 表名 set 列名=值 修改全部列

mysql_connect(連接配置)。。。。

mysql_query(sql語(yǔ)句);

php如何獲得 pdo 查詢結(jié)果 列名?

回調(diào)函數(shù)。

1.快取一行

FetchColumn是為應(yīng)用程序取得一個(gè)僅包含單列的數(shù)據(jù),代碼如下:

$u = $db-query(“SELECT id FROM users WHERE login=

‘login’ AND password=‘password’”);

fetch(PDO::FETCH_COLUMN)

if ($u-fetchColumn()) { //返回一個(gè)字符串

//登錄成功

} else {

//驗(yàn)證失敗

}

?

2.取得一個(gè)標(biāo)準(zhǔn)對(duì)象

還可以將取得的一行作為一個(gè)標(biāo)準(zhǔn)類stdClass的對(duì)象實(shí)例,其中列名=屬性名。

$res = $db-query(“SELECT * FROM foo”);

while ($obj = $res-fetch(PDO::FETCH_OBJ)) {

// $obj == instance of stdClass

}

?

3.存取為一個(gè)類

PDO允許將結(jié)果保存為一個(gè)類,例子如下:

$res = $db-query(“SELECT * FROM foo”);

$res-setFetchMode(

PDO::FETCH_CLASS,

“className”,

array(‘optional’=‘Constructor Params’)

);

while ($obj = $res-fetch()) {

// $obj == instance of className

}

?

4.從一個(gè)類取得常量

PDO允許查詢的結(jié)果可以被用來(lái)生成一個(gè)目的類。

$res = $db-query(“SELECT * FROM foo”);

$res-setFetchMode(

PDO::FETCH_CLASS |

PDO::FETCH_CLASSTYPE

);

while ($obj = $res-fetch()) {

// $obj == instance of class who’s name is

// found in the value of the 1st column

}

?

5.存取為一個(gè)對(duì)象

PDO還允許獲取數(shù)據(jù)到一個(gè)已經(jīng)存在的對(duì)象。

$u = new userObject;

$res = $db-query(“SELECT * FROM users”);

$res-setFetchMode(PDO::FETCH_INTO, $u);

while ($res-fetch()) {

// 取得的記錄集將放在$u這個(gè)對(duì)象變量中,在此顯示

}

?

6.存取為關(guān)聯(lián)數(shù)據(jù)

PDO實(shí)現(xiàn)了迭代器(Iteator)接口,允許一個(gè)方法實(shí)現(xiàn)迭代的功能。

$res = $db-query(

“SELECT * FROM users”,

PDO::FETCH_ASSOC

);

foreach ($res as $row) {

// $row是一個(gè)關(guān)聯(lián)數(shù)組,可以直接顯示,如$row['id']

}

?

7.fetchAll()方法

PDO也提供了和ADODB類似的fetchAll()方法,它允許從一個(gè)結(jié)果集中取得數(shù)據(jù),然后放于關(guān)聯(lián)數(shù)組中。

$db-setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);

$qry = “SELECT * FROM users”;

$res = $db-query($qry)-fetchAll(PDO::FETCH_ASSOC);

?

或者獲取到索引數(shù)組里:

$res = $db-query("SELECT * FROM foo");

$result_arr = $res-fetchAll();

print_r($result_arr);

?

數(shù)字索引數(shù)組比較浪費(fèi)資源,請(qǐng)盡量使用關(guān)聯(lián)數(shù)組,這樣可以在內(nèi)存中使用相當(dāng)密集的大型結(jié)果集。

相關(guān)說(shuō)明如下:

setAttribute()方法用于設(shè)置部分屬性,主要屬性有:PDO::ATTR_CASE、PDO::ATTR_ERRMODE等,這里需要設(shè)置的是PDO::ATTR_CASE,就是使用關(guān)聯(lián)索引獲取數(shù)據(jù)集時(shí),關(guān)聯(lián)索引是大寫還是小寫,有如下幾個(gè)選擇:

PDO::CASE_LOWER——強(qiáng)制列名是小寫;

PDO::CASE_NATURAL——列名按照原始的方式;

PDO::CASE_UPPER——強(qiáng)制列名為大寫。

我們使用setFetchMode方法來(lái)設(shè)置獲取結(jié)果集的返回值的數(shù)據(jù)類型,類型有:

PDO::FETCH_ASSOC——關(guān)聯(lián)數(shù)組形式;

PDO::FETCH_NUM——數(shù)字索引數(shù)組形式;

PDO::FETCH_BOTH——兩種數(shù)組形式都有,這是默認(rèn)的;

PDO::FETCH_OBJ——按照對(duì)象的形式,類似于以前的 mysql_fetch_object()。

當(dāng)然,一般情況下,我們使用PDO::FETCH_ASSOC取得關(guān)聯(lián)數(shù)組。具體使用哪種類型,應(yīng)按照自己的實(shí)際應(yīng)用選擇。

8.fetchColumn()方法

如果想獲取指定記錄里的一個(gè)字段結(jié)果,則可以使用PDOStatement::fetchColumn()。

$rs = $db-query("SELECT COUNT(*) FROM foo");

$col = $rs-fetchColumn();

echo $col;

?

一般使用fetchColumn()方法進(jìn)行count統(tǒng)計(jì),對(duì)某些只需要單字段的記錄可以很好地操作。

9.回調(diào)函數(shù)

PDO還規(guī)定在每一個(gè)fetch模式下,經(jīng)過(guò)處理后的結(jié)果中使用一個(gè)回調(diào)函數(shù)。

function draw_message($subject,$email) { … }

$res = $db-query(“SELECT * FROM msg”);

$res-fetchAll(PDO::FETCH_FUNC,“draw_message”);

?

10.直接查詢的問(wèn)題

直接使用Query查詢行每次都會(huì)直接提交給數(shù)據(jù)庫(kù),如果查詢較多,每次頻頻查詢將導(dǎo)致效率降低。

另外,在安全問(wèn)題上,沒(méi)有過(guò)濾一些特殊字符容易產(chǎn)生SQL注入。

11.過(guò)濾字符

下面我們來(lái)看看如何使用PDO進(jìn)行過(guò)濾引起SQL注入的方法,即過(guò)濾特殊字符。我們?cè)赑DO中使用quote()方法,使用例子如下:

$query = “SELECT * FROM users WHERE

login=“.$db-quote($_POST[‘login’]).”

AND

passwd=“.$db-quote($_POST[‘pass’]);

12.事務(wù)處理

PDO驅(qū)動(dòng)程序支持所有的事務(wù)數(shù)據(jù)庫(kù),并且PDO提供更簡(jiǎn)便的方法,如下:

$db-beginTransaction();

if ($db-exec($qry) === FALSE) {

$db-rollback();

}

$db-commit();

?

13.執(zhí)行一個(gè)批處理事務(wù)

在下面的示例中,假設(shè)我們?yōu)橐粋€(gè)新雇員創(chuàng)建一組條目,這個(gè)雇員有一個(gè)ID號(hào),即23。除了輸入這個(gè)雇員的基本數(shù)據(jù)外,還需要記錄雇員的薪水。分別完成兩個(gè)更新很簡(jiǎn)單,但通過(guò)將這兩個(gè)更新包括在beginTransaction()和commit()調(diào)用中,就可以保證在更改完成之前,其他人無(wú)法看到更改。如果發(fā)生了錯(cuò)誤,catch塊可以回滾事務(wù)開(kāi)始以來(lái)發(fā)生的所有更改,并打印出一條錯(cuò)誤消息。代碼內(nèi)容如下:

try {

$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',

array(PDO_ATTR_PERSISTENT = true));

echo "Connected\n";

$dbh-setAttribute(PDO_ATTR_ERRMODE, PDO_ERRMODE_EXCEPTION);

$dbh-beginTransaction();

$dbh-exec("insert into staff (id, first, last)

values (23, 'Joe', 'Bloggs')");

$dbh-exec("insert into salarychange (id, amount, changedate)

values (23, 50000, NOW())");

$dbh-commit();

} catch (Exception $e) {

$dbh-rollBack();

echo "Failed: " . $e-getMessage();

}

?

如何用php取出數(shù)據(jù)庫(kù)表中一列所有數(shù)據(jù)

用該列的字段名即可,select語(yǔ)句的通用形式如下:

select 你要的信息

from 數(shù)據(jù)表(一個(gè)或多個(gè))

where 滿足的條件

所以你的sql語(yǔ)句為:

select 要取得列名 from 表名 where 1

例子

SELECT id FROM `article` where 1

php 5.4 如何讀取excel中的列名跟值,導(dǎo)入到數(shù)據(jù)庫(kù)中形成“列1,值1,列2,值2......”這種樣式

下載PHPExcel后保存到自己的類文件目錄中,然后使用以下代碼可以打開(kāi)Excel 2007(xlsx)格式的文件:

require_once?'/libs/PHPExcel-1.8.0/Classes/PHPExcel.php';?????//修改為自己的目錄

echo?'pTEST?PHPExcel?1.8.0:?read?xlsx?file/p';

$objReader?=?PHPExcel_IOFactory::createReaderForFile($filename);

$objPHPExcel?=?$objReader-load($filename);

$objPHPExcel-setActiveSheetIndex(1);

$date?=?$objPHPExcel-getActiveSheet()-getCell('A16')-getValue();

讀出以后再根據(jù)內(nèi)容寫入數(shù)據(jù)庫(kù)

當(dāng)前標(biāo)題:php調(diào)用數(shù)據(jù)庫(kù)中的列名 php怎么使用數(shù)據(jù)庫(kù)
文章URL:http://www.muchs.cn/article26/dohcpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、網(wǎng)站維護(hù)、域名注冊(cè)手機(jī)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作