如果您对phpmssql数据库连接类代码(1/2)_PHP教程和phpmysql数据库连接感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解phpmssql数据库连接类代码(1/2)_PHP教程的
如果您对php mssql 数据库连接类代码(1/2)_PHP教程和phpmysql数据库连接感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解php mssql 数据库连接类代码(1/2)_PHP教程的各种细节,并对phpmysql数据库连接进行深入的分析,此外还有关于appserv php 5.2.6 連接遠程 mssql, 問題解決、DirectAdmin、多个 PHP 版本和 MSSQL、linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8、lnmp 环境里安装 mssql 及 mssql 的 php 扩展的实用技巧。
本文目录一览:- php mssql 数据库连接类代码(1/2)_PHP教程(phpmysql数据库连接)
- appserv php 5.2.6 連接遠程 mssql, 問題解決
- DirectAdmin、多个 PHP 版本和 MSSQL
- linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8
- lnmp 环境里安装 mssql 及 mssql 的 php 扩展
php mssql 数据库连接类代码(1/2)_PHP教程(phpmysql数据库连接)
php教程 mssql 数据库教程连接类代码
class DB_Sql { var $Host = ""; var $Database = ""; var $User = ""; var $Password = ""; var $Link_ID = 0; var $Query_ID = 0; var $Record = array(); var $Row = 0; var $Errno = 0; var $Error = ""; var $Auto_Free = 0; ## set this to 1 to automatically free results /* public: constructorwww.bKjia.c0m */ function DB_Sql($query = "") { $this->query($query); } function connect() { if ( 0 == $this->Link_ID ) { $this->Link_ID=mssql_connect($this->Host, $this->User, $this->Password); if (!$this->Link_ID) $this->halt("Link-ID == false, mssql_pconnect failed"); else @mssql_select_db($this->Database, $this->Link_ID); } } function free_result(){ mssql_free_result($this->Query_ID); $this->Query_ID = 0; } function query($Query_String) { /* No empty queries, please, since PHP4 chokes on them. */ if ($Query_String == "") /* The empty query string is passed on from the constructor, * when calling the class without a query, e.g. in situations * like these: ''$db = new DB_Sql_Subclass;'' */ return 0; if (!$this->Link_ID) $this->connect(); # printf("Debug: query = %sn", $Query_String);
1 2
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/
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
命令,并就地“转换”它们。
连接函数有点不同,因为它使用参数数组来指定数据库、用户名、密码等,但这些都有详细的文档说明,您只需要在建立连接的地方更改它们(这通常只在一个地方编码)。但大部分操作功能基本相同。
需要注意的一点是,sqlsrv
比 mssql
更与指针相关。您可以使用提供的函数(以及它们在 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
一般人都知道 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 就可以搞定,
我想,我哭了~搞太久了吧!!!!!
lnmp 环境里安装 mssql 及 mssql 的 php 扩展
小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库
步骤如下:
源码编译安装
# tar zxvf freetds-stable.tgz(解压,)
# cd freetds-0.91
# 编译
# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
# make
# make install
参数解释:
安装 freetds 到目录 /usr/local/freetds:--prefix=/usr/local/freetds
支持 MSSQL2000:--with-tdsver=8.0 --enable-msdblib
配置 FreeTds 的库文件
将 freetds 的库文件所在路径配置到 LD_LIBRARY_PATH 参数中:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/localfreetds/lib/:
或者直接把 etc/bashrc 的文件 bashrc 直接填写上 LD_LIBRARY_PATH=/usr/localfreetds/lib:$LD_LIBRARY_PATH
这么作的目的是为了避免加载 FreeTds 库文件加载不上的情况。
php 里安装 php-mssql 扩展:
cd /download (把php-mssql扩展下载到download目录里)
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz (下载扩展文件,这里要根据你环境中运行的php版本选择对应的扩展版本下载,我这里php是5.6.30的 所以php-mssql扩展下载对应的版本)
tar -zxvf php-5.6.30.tar.gz
cd /php-5.6.30/ext/mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
make && make install
编译安装后的结果 如下图
同时 mssql.so 也在 php 扩展文件下生成 (如下图)
把 extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so" 添加到 usr/local/php/lib/php.ini 中
引用扩展后,重启 web 服务,通过 phpinfo 查看扩展 mssql 是否开启成功
重启 php /usr/local/php/sbin/php-fpm reload
重启 nginx 进入 nginx 可执行目录 sbin 下,输入命令./nginx -s reload 即可(或者 /application/nginx/sbin/nginx -s reload)
关于php mssql 数据库连接类代码(1/2)_PHP教程和phpmysql数据库连接的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于appserv php 5.2.6 連接遠程 mssql, 問題解決、DirectAdmin、多个 PHP 版本和 MSSQL、linux php freetds mssql 2008 簡體 繁體 共存 採用 UTF-8、lnmp 环境里安装 mssql 及 mssql 的 php 扩展等相关知识的信息别忘了在本站进行查找喔。
本文标签: