當前位置:首頁 » 編程語言 » sqlserverodbcphp

sqlserverodbcphp

發布時間: 2022-07-29 04:03:29

『壹』 php如何用odbc調用存儲過程

無參調用
$sql = "exec addc 1,2";
$rs = odbc_exec($conn,$sql);

『貳』 如何用PHP連接SQL Server

1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到資料庫
2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server資料庫管理系統。
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫

1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:

其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:

2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:
extension=在ext下的pdo擴展(用於pdo)
extension=在ext下的擴展
3:重啟伺服器,打開phpinfo();看到以下狀態就證明添加擴展成功,

4:連接測試:


<?php

$serverName = "(local)";

$connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ){

echo "Connection established. ";

}else{

echo "Connection could not be established. ";

die( var_mp(sqlsrv_errors()));

}

sqlsrv_close( $conn);

?>

注意這里的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:
這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:

sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client
不然會出現如下錯誤:

array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
'code' =>int-49
2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712'(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
'message' =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
. . . .

解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝後就可以了。

以上就是php連接sql server的方法,希望對大家解決類似問題有所幫助。



『叄』 php如何使用ODBC連接sqlsever2008

php有連接SqlServer的拓展庫。載入拓展庫。先後下載
Microsoft SQL Server Native Client
在obbc添加連接池就可以用php連接了

『肆』 thinkphp5 怎麼用odbc連接sql2000 ,報錯,求解

因需求改變要使用到PHP連接sqlserver2000資料庫操作(之前是用Java連接寫的介面)。
1.准備開發框架:thinkphp5
2.系統開發環境ubuntu系統(這里需要配置odbc_dblib擴展)
3.tp5配置編寫
'type' => 'dblib',
// 伺服器地址
'hostname' => '1422222.168222.10222.103222321',
// 資料庫名
'database' => 'voucher111333',
// 用戶名
'username' => 'voucher',
// 密碼
'password' => 'qwyf123456',
// 埠
'hostport' => '1433',

4.連接資料庫成功,能取回數據(由於mssql編碼為gb2312,需轉換為utf-8,才不會出現中文亂碼問題)
5.php代碼如下:
$dbDB = new PDO ("dblib:host=ip;dbname=name", "232", "123456");
$sql = "SELECT count(1) FROM tablename";
foreach ($dbDB->query($sql) as $row) {
var_mp($row);
}

『伍』 php利用odbc鏈接sqlserver資料庫,必須要開啟mssql嗎

mssql是資料庫伺服器,不管用什麼連接,都需要開啟。

希望對你有幫助。

『陸』 php通過odbc用sql語句查詢時無法查詢中文,應該怎麼轉碼

咱們以MYSQL為例吧。
MYSQL資料庫存在著編碼問題,主要體現在資料庫里漢字會出現亂碼,WEB頁面漢字顯示不正常。
歸結起來只有一個原因:會出現編碼的地方存在編碼不一致。
WEB開發中:MYSQL編碼主要會出現在五個地方:
1. mysql安裝的默認編碼(latin1)-在mysql.ini(mysql安裝根目錄下)中設置。[mysqld]選項,默認沒有。添加即在最後一行加入default-character-set=utf8。
2.mysql資料庫的編碼,原則上默認的編碼是mysql安裝的默認編碼,也可以在建庫時用語句來執行:create databasedbname default character set utf8;我這里是建立一個utf8編碼的dbname資料庫。
3.mysql數據表的編碼,原則上默認是第二步建立的資料庫的編碼。提倡不要在creat table時加上編碼
4.利用程序建立mysql連接時,連接字元串使用的編碼。如jdbc,php mysql_connect(),這個地方必須是與你頁面的編碼一致。
5.WEB程序頁面的編碼,charset=utf8;與4必須一致。
除上面5個地方外,另有一個不是編碼者所能控制的,那就是瀏覽用戶的瀏覽器的編碼,一般是自動選擇,就不列入了。

上述五個地方,我所知道的保證不出現亂碼的方法是:
1 無所謂,但是如果可以調整的話,可以設置成你所需要統一的一個編碼,如utf8
2,3比較重要,我所理解的必須是一致。建議是在建庫語句時帶上編碼,建表時就不指定編碼了。
4是必須的,php下:$link = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('wordpress') or die('Could not select database');
mysql_query("set names utf8;"); //這句
如利用PDO的話 $dbh = new PDO($dsn, $config['db']['username'], $config['db']['password']);
$dbh->exec('SET CHARACTER SET utf8'); //這句
5在WEB頁面中必須設置成上面的統一的編碼。
請不要結束,繼續往下看:上述方法中必須統一是統一的編碼,我使用的是utf8,為什麼使用utf8是我正要說的。

『柒』 php用ODBC連接SQL SERVER出錯!!!!

還可能是這個原因,你的系統應該是64bit的,在新建dsn要用64bit的odbc,不能用WIN7自帶控制面板裡面的管理工具裡面的數據源添加。 必須用 C:\Windows\SysWOW64\odbcad32.exe 來添加數據源才好用。

『捌』 php 怎麼連接sqlserver

php連接sqlserver的方法如下:

以PHP版本是php5.6.12,mssql資料庫版本為2008版本為例來說明。

連接方法有兩種:

  1. 直接連接,代碼如下:

    $servname="CAPTAINHERO567";
    $conninfo=array( "Database"=>"netdata", "UID"=>"lxz2005", "PWD"=>"831140");
    $conn=sqlsrv_connect($servname, $conninfo);
    $sql="select * from Pinfo";
    $db=sqlsrv_query($conn, $sql);
    while($row=sqlsrv_fetch_array($db))
    {
    echo("<div>".iconv("GB2312","UTF-8",$row["Pname"])."</div>");
    }

  2. 使用PDO抽象數據層連接

    $hostname = "192.168.1.100";
    $dbname = "Northwind";
    $username = "sa";
    $pwd = "pwd100";
    $dsn="sqlsrv:Server=$hostname;database=$dbname";

    $conn = new PDO ($dsn,$username,$pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    echo "mssql database connnection sucessed!";

『玖』 PHP使用ODBC連接資料庫的方法

本文實例講述了PHP使用ODBC連接資料庫的方法。分享給大家供大家參考。具體實現方法如下:
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en"
lang="en">
<head>
<title>PHP
and
ODBC:
XHTML
Example
1</title>
<meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8"
/>
</head>
<body>
<?php
$conn
=
odbc_connect(
"DRIVER={MySQL
ODBC
3.51
Driver};Server=localhost;Database=phpodbcdb",
"username",
"password");
if
(!($conn))
{
echo
"<p>Connection
to
DB
via
ODBC
failed:
";
echo
odbc_errormsg
($conn
);
echo
"</p>\n";
}
$sql
=
"SELECT
1
as
test";
$rs
=
odbc_exec($conn,$sql);
echo
"<table><tr>";
echo
"<th>Test</th></tr>";
while
(odbc_fetch_row($rs))
{
$result
=
odbc_result($rs,"test");
echo
"<tr><td>$result</td></tr>";
}
odbc_close($conn);
echo
"</table>";
?>
</body>
</html>
希望本文所述對大家的php程序設計有所幫助。

熱點內容
javascript設計模式源碼 發布:2025-01-24 14:49:07 瀏覽:908
linqtosql查詢 發布:2025-01-24 14:48:57 瀏覽:120
華為手機更換開機密碼如何操作 發布:2025-01-24 14:43:15 瀏覽:699
快手等待上傳 發布:2025-01-24 14:41:37 瀏覽:380
apache和php7 發布:2025-01-24 14:32:26 瀏覽:892
linuxio文件 發布:2025-01-24 13:40:21 瀏覽:438
在excel設密碼如何取消 發布:2025-01-24 13:38:54 瀏覽:483
電腦裝存儲時不能開機 發布:2025-01-24 13:38:52 瀏覽:285
2000人同時在線的小程序需要什麼伺服器 發布:2025-01-24 13:37:17 瀏覽:853
怎麼搭建linux伺服器配置 發布:2025-01-24 13:37:16 瀏覽:113