phpchina 開源社群門戶
自學了兩天php,感覺不錯,昨晚突然頭腦發熱,準備給家裡的醫藥銷售軟體做個功能擴充套件。那個軟體買得舊了,做購貨計畫時,只能從庫存頁面一行一行的看(5000多行,眼都要看花),而且還不能對藥品名稱排序(它是按基本資訊錄入的時間順序顯示的),同名不同產地的是前面有顯示,中間有顯示,後面也有顯示,經常是進了貨,入庫的時候才發現買重複了,其他產地的還有,數量還挺大,該買的卻又沒買。而且那軟體還有連線限制(限制3臺,區域網內共有四台,用一台作為伺服器,放在辦公室,當在伺服器上做採購計畫的時候,外邊銷售就只有兩台能用)。
所以我想做乙個「庫存上下限報警表單」通過查詢資料庫自動生成,降低做採購計畫時的工作量,同時繞過那個軟體的連線限制。
那個軟體用的是mssql server 2000,我買的php書上講的都是mysql,在網上查了查,好少,下了php手冊,翻譯了幾個小時的英文,終於能訪問能用了,呵呵^_^。下面是我理解的一些用php訪問mssql server 2000的方法給大家**,交流一下。
1、首先是準備工作:
在windows下通過php訪問mssql server 2000,可以有兩種方式,
(1)利用com
(2)一種是使用mssql_系列函式
要使用這兩種都需要在php.ini進行設定:
(1)允許 dcom,需要將php.ini中的 ;com.allow_dcom=true前的分號";"去掉。
(2)使用mssql擴充套件,需要php.ini中的 ;extension=php_mssql.dll前的分號";"去掉。
解決方法:將php_mssql.dll,ntwdblib.dll拷貝到系統目錄/system32下重啟測試。。
另外設定好了後記得重啟伺服器哦。
2、利用com訪問mssql server的簡單方法
$conn = new com("adodb.connection") or die("cannot start ado");
//首先宣告乙個連線物件
$connstr = "provider=sqloledb;
persist security info=false;
user id=youruid;
password=yourpwd;
initial catalog=yourdatabase;
data source=127.0.0.1";
//設定連線字串(很奇怪data soure為localhost或伺服器名不行總是報錯而為(local)或127.0.0.1卻行,希望哪個高手幫我說明一下)
$conn->open($connstr); //建立資料庫連線
$sqlstr = "select * from test"; //設定查詢字串
$rs = $conn->execute($sqlstr); //執行查詢獲得結果
或者 //$rs = new com("adodb.recordset"); //宣告乙個資料集物件
//$rs->open($sqlstr,$conn);//,3,3); //獲得資料集rcordset內容
$num_cols = $rs->fields->count(); //得到資料集列數
while (!$rs->eof) //輸出結果
//echo "/n";
//$rs->movenext(); }
$rs->close();
$conn->close();
$rs = null;
$conn = null;
3、使用mssql_函式訪問mssql server的簡單方法
$hostname = "yourhoustname";
$username = "yourusername";
$password = "yourpassword";
$conn = mssql_connect($hostname,$username,$password) or die("database failed to respond.");
//建立連線
$dbname = "yourdatabase";
$ret=mssql_select_db($dbname); //選擇資料庫
$sqlstr = "select * from test"; //設定查詢字串
$result=mssql_query($query); //執行查詢獲得結果
while($line = mssql_fetch_row($result)) //輸出結果
或者
//while($row = mssql_fetch_array($result))
// 題外:
關於通過php訪問mssql server的小結就是這些了。希望能對你有所幫助,第一次寫又是初學,請你指出,共同進步。
求助:1、我在設定連線字串的時候,為什麼data soure為localhost或伺服器名不行總是報錯而為(local)或127.0.0.1卻行,希望哪個高手幫我說明一下
2、我在設定查詢字串的時候,如何對"like '%-'"(單引號內為乙個百分號和乙個短橫線)進行轉義 [
本帖最後由 maxy.feng 於 2007-3-5 17:40 編輯 ]
使用freetds庫連線MS SQL SERVER
1概述 在linux下連線mssql是一件很痛苦的事,因為微軟同志沒有提供任何介面給開發人員,還好,mssql是從sybase衍生出來的,freetds是乙個資料庫底層的驅動程式,用 freetds的庫進行開發是一件很方便的事。freetds可以連線sybase和ms sql server資料庫。2...
PHP使用PDO訪問ACCESS
php5中開始加入了pdo,對於不同的資料庫它採用統一的訪問方式,據說php6中將預設使用pdo運算元據庫。access是我經常用的一種資料庫,對於小的應用很方便!搜尋了一下,卻沒有找到具體的連線方法,於是邊搜尋邊研究,以下是pdo連線access的方法 程式 try dbq getcwd db.m...
php 資料庫 使用php訪問mysql
連線 code php 下面使用了函式庫mysqli,所以需要將php.ini檔案中的extension php.mysqli 開啟 這裡採用了物件導向的語法,當然,mysqli也支援面向過程的語法 db new mysqli localhost root tograce books 以上 例項化了...