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

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

php 怎樣使PostgreSQL 數(shù)據(jù)庫里的數(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ù)庫中有三張表。

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

那么你的問題到底是如下哪種

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

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

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

補(bǔ)充1:

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

補(bǔ)充2:

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

你可以通過pg_num_fields獲得字段數(shù)量,在通過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");

}

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

create table xxx

(

id serial primary key,

name text,

num int

)

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

thinkphp怎么連接pgsql

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

第一種 在項目配置文件里面定義

return array(

'DB_TYPE'= 'mysql',

'DB_HOST'= 'localhost',

'DB_NAME'='thinkphp',

'DB_USER'='root',

'DB_PWD'='',

'DB_PORT'='3306',

'DB_PREFIX'='think_',

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

);

系統(tǒng)推薦使用該種方式,因為一般一個項目的數(shù)據(jù)庫訪問配置是相同的。該方法系統(tǒng)在連接數(shù)據(jù)庫的時候會自動獲取,無需手動連接。

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

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

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

$db = new Db($db_dsn);

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

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

$DSN = array(

'dbms' = 'mysql',

'username' = 'username',

'password' = 'password',

'hostname' = ; 'localhost',

'hostport' = '3306',

'database' = 'dbname'

);

$db = new Db($DSN);

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

第四種 在模型類里面定義

protected $connection = array(

'dbms' = 'mysql',

'username' = 'username',

'password' = 'password',

'hostname' = 'localhost',

'hostport' = '3306',

'database' = 'dbname'

);

// 或者使用下面的定義

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

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

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

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

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

我們以項目配置文件定義為例來說明:

return array(

'DB_TYPE'= 'pdo',

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

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

'DB_USER'='root',

'DB_PWD'='',

'DB_PREFIX'='think_',

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

);

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

windows下php無法支持pgsql,該怎么解決

初學(xué)postgresql,想安裝一個在本機(jī)測試一下,環(huán)境為windows xp + apache2 + php5(5.2.6) + postgresql8.4.一切安裝正常,但是再裝上phppgadmin測試時,顯示“您的 PHP 中沒有完整的數(shù)據(jù)庫支持”。apache錯誤日志為“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多次 不好意思,僅有的一點積分已經(jīng)用光了,所以只好請大家多多支持了。 cmd下,cd到php所在目錄,之后在cmd下運(yùn)行 php 看提示吧,卻啥lib它會提示你,需要啥去pgsql下cpoy到windows\system32下,你只復(fù)制一個libpg.dll是不夠的,好象復(fù)制好多個

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

貼出自己寫的一個數(shù)據(jù)庫類吧。

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ù)庫鏈接函數(shù)

$this-Db_Connect();

}

function Db_Base()

{

$this-__construct();

}

//鏈接數(shù)據(jù)庫函數(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ù)庫函數(shù)

function Db_Select()

{

$select=mysql_select_db($this-db_name);

if(!$select)

{

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

}

}

//sql語句操作

function Db_Query($sql)

{

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

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

{

DisplayError("SQL無效");

return 0;

}

else

{

return $this-result;

}

}

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

function Db_Fetch_Array()

{

return mysql_fetch_array($this-result);

}

//select語句 影響的行數(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)建對象

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

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

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語句影響的行數(shù),假若sql語句是update,delete,insert的,則用 Db_Affected_Rows() 函數(shù)

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

?

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

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

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

廣告

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

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