免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

php對(duì)pg數(shù)據(jù)庫(kù)操作類 php對(duì)數(shù)據(jù)庫(kù)的操作

php 怎樣使PostgreSQL 數(shù)據(jù)庫(kù)里的數(shù)據(jù)全部變?yōu)榱悖瑲w零。

什么教數(shù)據(jù)全部歸0

創(chuàng)新互聯(lián)建站是一家專業(yè)提供巴東企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為巴東眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

我們假設(shè)數(shù)據(jù)庫(kù)中有三張表。

a,b,c,每個(gè)表有幾個(gè)字段,也有很多數(shù)據(jù),

那么你的問(wèn)題到底是如下哪種

1:刪除掉該數(shù)據(jù)庫(kù)中的所有表,a,b,c

2:把所有表的數(shù)據(jù)都清空,表結(jié)構(gòu)保留

3:把表中所有的數(shù)據(jù)都變?yōu)檎螖?shù)值0?

補(bǔ)充1:

如果你是3的問(wèn)題的話,實(shí)現(xiàn)起來(lái)比較繁瑣,并且我也不是很理解為什么要這樣做,感覺(jué)挺沒(méi)什么意義的,如果方便的話可以告訴我你的目的是什么,為什么要把所有的數(shù)據(jù)都變成0,或許可以換些辦法

補(bǔ)充2:

聽(tīng)你的描述你可能是只有一個(gè)表,表中有很多的字段,每個(gè)字段都代表一個(gè)投票項(xiàng)目,而表中的數(shù)據(jù)記錄,其實(shí)只有一條?

你可以通過(guò)pg_num_fields獲得字段數(shù)量,在通過(guò)pg_field_name獲得字段名稱,依次運(yùn)行update

$dbconn = pg_connect("host=localhost");

$res = pg_query($dbconn, "select * from your_talbe_name");

$i = pg_num_fields($res);

for ($j = 0; $j $i; $j++) {

$fieldname = pg_field_name($res, $j);

pg_query($dbconn, "update your_talbe_name set $fieldname=0");

}

另外,我個(gè)人認(rèn)為你這樣實(shí)現(xiàn)投票的管理不是很好,投票項(xiàng)目一多很難管理,建議

create table xxx

(

id serial primary key,

name text,

num int

)

把投票項(xiàng)目的名字也就是你原來(lái)列的名稱放到name字段中,num則為投票數(shù),這樣以后再有這種問(wèn)題,一個(gè)update xxx set num=0就OK了,管理起來(lái)也方便些。

thinkphp怎么連接pgsql

連接數(shù)據(jù)庫(kù) ThinkPHP內(nèi)置了抽象數(shù)據(jù)庫(kù)訪問(wèn)層,把不同的數(shù)據(jù)庫(kù)操作封裝起來(lái),我們只需要使用公共的Db類進(jìn)行操作,而無(wú)需針對(duì)不同的數(shù)據(jù)庫(kù)寫(xiě)不同的代碼和底層實(shí)現(xiàn),Db類會(huì)自動(dòng)調(diào)用相應(yīng)的數(shù)據(jù)庫(kù)適配器來(lái)處理。目前的數(shù)據(jù)庫(kù)包括Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase以及PDO的支持,如果應(yīng)用需要使用數(shù)據(jù)庫(kù),必須配置數(shù)據(jù)庫(kù)連接信息,數(shù)據(jù)庫(kù)的配置文件有多種定義方式:

第一種 在項(xiàng)目配置文件里面定義

return array(

'DB_TYPE'= 'mysql',

'DB_HOST'= 'localhost',

'DB_NAME'='thinkphp',

'DB_USER'='root',

'DB_PWD'='',

'DB_PORT'='3306',

'DB_PREFIX'='think_',

// 其他項(xiàng)目配置參數(shù)………

);

系統(tǒng)推薦使用該種方式,因?yàn)橐话阋粋€(gè)項(xiàng)目的數(shù)據(jù)庫(kù)訪問(wèn)配置是相同的。該方法系統(tǒng)在連接數(shù)據(jù)庫(kù)的時(shí)候會(huì)自動(dòng)獲取,無(wú)需手動(dòng)連接。

可以對(duì)每個(gè)項(xiàng)目定義不同的數(shù)據(jù)庫(kù)連接信息,還可以在調(diào)試配置文件(Conf/debug.php)里面定義調(diào)試數(shù)據(jù)庫(kù)的配置信息,如果在項(xiàng)目配置文件和調(diào)試模式配置文件里面同時(shí)定義了數(shù)據(jù)庫(kù)連接信息,那么在調(diào)試模式下面后者生效,部署模式下面前者生效。

第二種 使用DSN方式在初始化Db類的時(shí)候傳參數(shù)

$db_dsn = “mysql://username:passwd@localhost:3306/DbName”;

$db = new Db($db_dsn);

該方式主要用于在控制器里面自己手動(dòng)連接數(shù)據(jù)庫(kù)的情況,或者用于創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)連接。

第三種 使用數(shù)組傳參數(shù)

$DSN = array(

'dbms' = 'mysql',

'username' = 'username',

'password' = 'password',

'hostname' = ; 'localhost',

'hostport' = '3306',

'database' = 'dbname'

);

$db = new Db($DSN);

該方式也是用于手動(dòng)連接數(shù)據(jù)庫(kù)的情況,或者用于創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)連接。

第四種 在模型類里面定義

protected $connection = array(

'dbms' = 'mysql',

'username' = 'username',

'password' = 'password',

'hostname' = 'localhost',

'hostport' = '3306',

'database' = 'dbname'

);

// 或者使用下面的定義

protected $connection = ”mysql://username:passwd@localhost:3306/DbName”;

如果在某個(gè)模型類里面定義了connection屬性,則在實(shí)例化模型對(duì)象的時(shí)候,會(huì)使用該數(shù)據(jù)庫(kù)連接信息進(jìn)行數(shù)據(jù)庫(kù)連接。通常用于某些數(shù)據(jù)表位于當(dāng)前數(shù)據(jù)庫(kù)連接之外的其它數(shù)據(jù)庫(kù)。

ThinkPHP并不是在一開(kāi)始就會(huì)連接數(shù)據(jù)庫(kù),而是在有數(shù)據(jù)查詢操作的時(shí)候才會(huì)去連接數(shù)據(jù)庫(kù)。額外的情況是,在系統(tǒng)第一次操作模型的時(shí)候,框架會(huì)自動(dòng)連接數(shù)據(jù)庫(kù)獲取相關(guān)模型類的數(shù)據(jù)字段信息,并緩存下來(lái)。

(字段緩存目錄:Runtime/Data/_fields)

ThinkPHP支持PDO方式,如果要使用PDO方式連接數(shù)據(jù)庫(kù),可以參考下面的設(shè)置。

我們以項(xiàng)目配置文件定義為例來(lái)說(shuō)明:

return array(

'DB_TYPE'= 'pdo',

// 注意DSN的配置針對(duì)不同的數(shù)據(jù)庫(kù)有所區(qū)別 請(qǐng)參考PHP手冊(cè)PDO類庫(kù)部分

'DB_DSN'= 'mysql:host=localhost;dbname=think',

'DB_USER'='root',

'DB_PWD'='',

'DB_PREFIX'='think_',

// 其他項(xiàng)目配置參數(shù)………

);

使用PDO方式的時(shí)候,要注意檢查是否開(kāi)啟相關(guān)的PDO模塊。DB_DSN參數(shù)僅對(duì)PDO方式連接才有效。

windows下php無(wú)法支持pgsql,該怎么解決

初學(xué)postgresql,想安裝一個(gè)在本機(jī)測(cè)試一下,環(huán)境為windows xp + apache2 + php5(5.2.6) + postgresql8.4.一切安裝正常,但是再裝上phppgadmin測(cè)試時(shí),顯示“您的 PHP 中沒(méi)有完整的數(shù)據(jù)庫(kù)支持”。apache錯(cuò)誤日志為“PHP Warning: PHP Startup: Unable to load dynamic library 'C:/php/ext/php_pgsql.dll'”。多次在網(wǎng)上搜索解決方法,已完成以下操作: 1、修改php.ini 2、確認(rèn)C:\php\ext\下php_pgsql.dll存在 3、修改path環(huán)境變量,添加了postgresql的bin目錄 4、將libpg.dll放至windows\system32下 5、重啟apache多次 不好意思,僅有的一點(diǎn)積分已經(jīng)用光了,所以只好請(qǐng)大家多多支持了。 cmd下,cd到php所在目錄,之后在cmd下運(yùn)行 php 看提示吧,卻啥lib它會(huì)提示你,需要啥去pgsql下cpoy到windows\system32下,你只復(fù)制一個(gè)libpg.dll是不夠的,好象復(fù)制好多個(gè)

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

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

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)。

分享標(biāo)題:php對(duì)pg數(shù)據(jù)庫(kù)操作類 php對(duì)數(shù)據(jù)庫(kù)的操作
轉(zhuǎn)載來(lái)源:http://newbst.com/article44/doihche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序建站公司商城網(wǎng)站品牌網(wǎng)站設(shè)計(jì)App設(shè)計(jì)全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(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)

商城網(wǎng)站建設(shè)