$num_cols = $rs->FIElds->Count(); //得到數據集列數
while (!$rs->EOF) //輸出結果 echo $rs->FIElds['name']->Value."<BR>"; // 'name'為字段名,需要明確制定
$rs->MoveNext(); //for ($i=0; $i < $num_columns; $i++) //echo $fld[$i]->value . "\t"; //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)) //輸出結果 echo "$line[0],$line[1]";
//mssql_fetch_row每次返回一個enumerated(列舉) array,直到沒有數據而返回false 或者
//while($row = mssql_fetch_array($result)) //echo $row["name"]; //echo $row[0],$row[1];
//mssql_fetch_array每次返回一個數字索引數組或一個相關數組,直到沒有數據而返回false
//}
題外:
關於通過PHP訪問MSSQL Server的小結就是這些了。希望能對你有所幫助,第一次寫又是初學,請你指出,共同進步。 1、我在設置連接字符串的時候,為什麼Data Soure為localhost或服務器名不行總是報錯而為(local)或127.0.0.1卻行,希望哪個高手幫我說明一下
2、我在設置查詢字符串的時候,如何對"LIKE '%-'"(單引號內為一個百分號和一個短橫線)進行轉義
使用pdo
1、首先仍然是准備工作:
(1)使用PDO擴展,需要將php.ini中的 ;extension=PHP_pdo.dll前的分號";"去掉。
(2)訪問MSSQL,需要將php.ini中的 ;extension=PHP_pdo_mssql.dll前的";"去掉(沒有則添加)。
補充:如果你需要訪問MySQL,需要將php.ini中的 ;extension=PHP_pdo_mssql.dll前的";"去掉。 (3)確認extension_dir為正確路徑,以本機為例:extension_dir = "c:\APPServ\PHP5\ext"。
(4)如果仍然機器報錯說找不到c:\APPServ\php5\ext\PHP_mssql.dll但明明存在這個文件。
解決方法:將PHP_mssql.dll,ntwdblib.dll拷貝到系統目錄\system32下重啟測試。。
(注:上面兩個dll文件不在相同目錄下,我的為c:\AppServ\php5\ext\php_mssql.dll;c:\APPServ\PHP5\ntwdblib.dll)
另外:設置完畢後仍然記得要重啟服務器哦
2、使用PDO訪問MSSQL Server的簡單方法
$username = yourusername;
$pwd = yourpassWord;
try //??host=127.0.0.1可用;(local)不可用;localhost不可用;MAXY不可用
$dbh = new PDO('mssql:host=127.0.0.1;dbname=yourdatabase',$username,$pwd);
//聲明一個PDO對象並指定它的連接字符串
$sqlstri = "select * from UpLow"; foreach ($dbh->query($sqlstri) as $row) {
print_r($row); //echo $row['name']; } catch (PDOException $e) print "Error!;".$e->getMessage()."<br>";