GVKun编程网logo

php 连接 mssql 数据库的几种方式(php连接mysql数据库四步)

2

以上就是给各位分享php连接mssql数据库的几种方式,其中也会对php连接mysql数据库四步进行解释,同时本文还将给你拓展appservphp5.2.6連接遠程mssql,問題解決、ArcGISE

以上就是给各位分享php 连接 mssql 数据库的几种方式,其中也会对php连接mysql数据库四步进行解释,同时本文还将给你拓展appserv php 5.2.6 連接遠程 mssql, 問題解決、ArcGIS Engine 打开 SDE 数据库的几种方式、DirectAdmin、多个 PHP 版本和 MSSQL、linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

php 连接 mssql 数据库的几种方式(php连接mysql数据库四步)

php 连接 mssql 数据库的几种方式(php连接mysql数据库四步)

<p> 数据库查询不外乎 4 个步骤,1、建立连接。2、输入查询代码。3、建立查询并取出数据。4、关闭连接。</p> <p>php 连接 mssql 数据库有几个注意事项,尤其 mssql 的多个版本、32 位、64 位都有区别。</p> <p > 首先,php.ini 文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接 mssql。注意要重启服务使其生效。</p> <p > 一、建立连接 </p> <p>1、odbc</p> <p > 首先,在 php 程序所在的服务器设置 odbc。这里 32 位和 64 位操作系统有区别。32 位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64 位的要运行 C:\Windows\SysWOW64\odbcad32.exe</p> <p > 从这里面设置。<font color="#ff0000"> 注意:上面只的是数据库服务器为 32 为的,数据源设置服务器为 32 位和 64 位两种的情况。只要两个服务器建立的数据源位数一致就好。</font></p> <p><font color="#000000"> 下面是 odbc 建立连接代码。</font></p> <div> <pre><span>$con </span>= <span>odbc_connect</span>(''odbc 名称 '','' 用户名 '','' 密码 '');</pre> </div>

<p>2、连接 mssql2000</p>

<div> <pre><span>$con</span> = mssql_connect (''<span> 数据库地址 </span>'','' 用户名 '','' 密码 '');</pre> </div>

<p>3、连接 mssql2008</p>

<div> <pre><span>$connectionInfo</span> = <span>array</span>(&quot;UID&quot;=&gt;<span> 用户名 </span>,&quot;PWD&quot;=&gt;<span> 密码 </span>,&quot;Database&quot;=&gt;&quot; 数据库名称 & quot;<span>); </span><span>$con</span> = sqlsrv_connect ( <span> 数据库地址 </span>,<span>$connectionInfo</span>);</pre> </div>

<p>&#160;</p>

<p> 二、输入查询代码 </p>

<p> 这个都一样,可以直接写入,也可以从 mssql 中验证好后复制过来。简单点说就是把一个 sql 语句赋值给一个变量。</p>

<p> 类似下面代码 </p>

<div> <pre><span>$query</span> = &quot;SELECT top 12 * 数据库名称 order by id desc&quot;;</pre> </div>

<p>&#160;</p>

<p> 三、建立查询并取出数据 </p>

<p>1、odbc</p>

<div> <pre><span>$result</span> = <span>odbc_do</span>(<span>$con</span>,<span>$query</span><span>); </span><span>while</span>(<span>odbc_fetch_row</span>(<span>$result</span><span>)) { </span><span>$ 变量名称 </span> = <span>odbc_result</span>(<span>$result</span>, &quot; 字段名称 & quot;)<span>; }</span></pre> </div>

<p>2、连接 mssql2000</p>

<div> <pre><span>$result</span> = mssql_query (<span>$con</span>, <span>$query</span><span>); </span><span>while</span>(<span>$row</span> =mssql_fetch_array (<span>$result</span><span>)) { </span><span>$ 变量名称 </span> = <span>$row</span>[&quot; 字段名称 & quot;<span>]; }</span></pre> </div>

<p>3、连接 mssql2008</p>

<div> <pre><span>$result</span> = sqlsrv_query (<span>$con</span>, <span>$query</span><span>); </span><span>while</span>(<span>$row</span> = sqlsrv_fetch_array (<span>$result</span><span>)) { </span><span>$ 变量名称 </span>= <span>$row</span>[&quot; 字段名称 & quot;<span>]; }</span></pre> </div>

<p> 在 php5.3 及以后的版本中不附带 sqlsrv 库了。所以要从 < a href="http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx"> 微软这里 </a > 下载。</p>

<p> 四、关闭连接 </p>

<p> 这个没有什么区别,分别是 odbc_close (); 和 mssql_close () 和 sqlsrv_close ();</p>

<p> 最后体会:php 连接 mssql 比连接 mssql 的函数少了一些,但是也够用了。具体函数可以参考 < a href="http://www.php.net/mssql">php 官方手册 </a > 或者 < a href="http://www.ostools.net/apidocs/apidoc?api=php-zh">oschina 的 php 中文文档 </a>。</p>

appserv php 5.2.6 連接遠程 mssql, 問題解決

appserv php 5.2.6 連接遠程 mssql, 問題解決

一開始,在 windows 下根本無法載入 mssql, 後來發現可以連線,結果跑出

 

Warning: mssql_connect() : message: Login failed for user ''(null)''. Reason: Not associated with a trusted SQL Server connection. 

 

就是什麼未信任連線,

 

搞了老半天,原來我用的 mssql 本身的認證,根本不用去 NT 認證!!

 

所以在 php.ini 裡有這麼一行

; Use NT authentication when connecting to the server
mssql.secure_connection = off

 

答案呼之欲出了!!

 

改 off 就好了!!

 

天啊!!

感謝網友

風雲珏悦

http://wyoojune.blog.163.com/blog/static/57093325201081794322977/

ArcGIS Engine 打开 SDE 数据库的几种方式

ArcGIS Engine 打开 SDE 数据库的几种方式

通过指定连接属性参数打开数据库

 /// <param name="server">数据库服务器名</param>  
 /// <param name="instance">SDE的端口,默认安装时"port:5151"</param>  
 /// <param name="user">SDE的用户名</param>  
 /// <param name="password">密码</param>  
 /// <param name="database">数据库的名字</param>  
 /// <param name="version">SDE的版本</param>  
 /// <returns></returns>  
 public IWorkspace OpenSdeWorkspaceByPropertySet(string server, string instance, string user, string password, string database, string version)  
 {  
     IPropertySet Propset = new PropertySetClass();  
     Propset.SetProperty("SERVER", server);  
     Propset.SetProperty("INSTANCE", instance);  
     Propset.SetProperty("USER", user);  
     Propset.SetProperty("PASSWORD", password);  
     Propset.SetProperty("DATABASE", password);  
     Propset.SetProperty("VERSION", version);  

    IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();  
    return workspaceFactory.Open(Propset, 0);  
}

通过连接字符串打开数据库

/// <param name="connectionString">连接字符串</param>  
/// For example, "SERVER=Kona;DATABASE=sde;INSTANCE=5151;USER=Editor;PASSWORD=Editor;VERSION=sde.DEFAULT"  
/// <returns></returns>  
public IWorkspace OpenSdeWorkspaceByConnectionString(string connectionString)  
{  
    IWorkspaceFactory2 workspaceFactory = new SdeWorkspaceFactoryClass();  
    return workspaceFactory.OpenFromString(connectionString, 0);  
}

通过 sde 文件打开数据库

/// <param name="connectionFile">sde文件</param>  
/// For example, "C:\\Data.sde"  
/// <returns></returns>  
public IWorkspace OpenSdeWorkspaceFromFile(string connectionFile)  
{  
    IWorkspaceFactory workspaceFactory = new SdeWorkspaceFactoryClass();  
    return workspaceFactory.OpenFromFile(connectionFile, 0);  
}

DirectAdmin、多个 PHP 版本和 MSSQL

DirectAdmin、多个 PHP 版本和 MSSQL

如何解决DirectAdmin、多个 PHP 版本和 MSSQL

过去,我使用 MSsql 函数建立了与 MSsql 的连接。我有一个运行 PHP 5.5 的旧站点(客户端拒绝升级),遗憾的是这些功能丢失了(它可以正常工作,但现在不能)

我尝试使用下面的脚本重新安装,但在执行 PHP -m 时仍然无法显示模块

Download FreeTDS
Latest stable version can be found here http://www.ibiblio.org/pub/Linux/ALPHA/freetds/stable/ (

3. Configure and install FreeTDS
Uncompress and cd to the respective folder:

./configure --prefix=/usr/local/freetds
make
make install

4. PHP configuration
Edit the PHP configuration file.
"/usr/local/directadmin/custombuild/configure/ap2/configure.PHP55" 
Add this line: "--with mssql=/usr/local/freetds\\ " 

Go to custombuild:
./build clean
./build PHP_expert 5.5 PHP-fpm

再次执行 PHP - m 时,模块没有显示

[root@... domains]# PHP -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
intl
json
libxml
mbstring
mcrypt
mhash
MysqL
MysqLi
MysqLnd
openssl
pcre
PDO
pdo_MysqL
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

[root@... domains]#

有什么建议吗?

解决方法

我记得 mssql 函数何时消亡。这是悲伤的一天,让我很头疼。

我发现最简单的转换是移至 sqlsrv 函数。它们的语法和结构几乎相同,只需要进行一些调整。幸运的是,从 IDE 进行文件范围的搜索应该可以很容易地找到任何 mssql 命令,并就地“转换”它们。

连接函数有点不同,因为它使用参数数组来指定数据库、用户名、密码等,但这些都有详细的文档说明,您只需要在建立连接的地方更改它们(这通常只在一个地方编码)。但大部分操作功能基本相同。

需要注意的一点是,sqlsrvmssql 更与指针相关。您可以使用提供的函数(以及它们在 php.net 上的示例)进行调整以推进记录,如果您只添加 { {1}} 常量作为 SQLSRV_FETCH_ASSOC 的第二个参数。这将导致它模拟旧行为,并消除使用指针相关函数的需要。

sqlsrv_fetch_array

当我转换自己的代码时,这大大简化了任务。后来,我重建了我的数据库类以使用 $connection = sqlsrv_connect( $server,$connection_info_array ); $results = sqlsrv_query( $connection,$your_query ); while ( $row = sqlsrv_fetch_array( $results,SQLSRV_FETCH_ASSOC ) ) { var_dump( $row ); } ,但临时迁移到 PDO 节省了我当时没有的大量时间。

linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8

linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8

一般人都知道 mssql unicode 可以存什麼體,都 OK,

而你可以用 nvarchar 或者 nchar 就可以搞定!要不然數據庫裡,老是出現煩人的問號???

[環境介紹]

CentOS 6.x

(請全部 yum,php php-mssql freetds ....) 以下略

重點來了

請在 /etc/freetds.conf 改一下設定

tds version = 8.0   (不要懷疑,這個我找了好多參考,如果你採用 mssql 2000 以上,就用這個)

text size = 20971520  (這個大小不是重點,如果字數多,請調大)
client charset = UTF-8  (不用說,一定是 UTF-8)

當然可以自訂連線,不過我就省略了!!

好了,接下來的重頭戲,請確定以下幾件事情兒 >>>

一、是否網頁都存成 UTF-8

二、請用 mb_detect_encoding 去檢查,insert or update 的字串,是否為 UTF-8??

三、再檢查 select 出來之後的字串是否還是 UTF-8

OK, 如果你發現以上三點都正確,結果在數據庫裡顯現的還是?的話,那麼你要考慮以下的絕招了!

 update [資料表] set [欄位名稱]=N'' 应用推 '' where trade_no=''1111222333'';

對的,就是加個 N 就可以搞定,

我想,我哭了~搞太久了吧!!!!!

 

我们今天的关于php 连接 mssql 数据库的几种方式php连接mysql数据库四步的分享就到这里,谢谢您的阅读,如果想了解更多关于appserv php 5.2.6 連接遠程 mssql, 問題解決、ArcGIS Engine 打开 SDE 数据库的几种方式、DirectAdmin、多个 PHP 版本和 MSSQL、linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8的相关信息,可以在本站进行搜索。

本文标签: