php如何与mssql数据库连接与配置

 更新时间:2016年11月25日 16:39  点击:1943

PHP自带的扩展php_mssql.dll连接SQL Server 2000,用mssql系列函数来操作,和操作MySQL的一样。

1、打开PHP配置文件php.ini,找到;extension=php_mssql.dll把前面的分号去掉。

2、找到mssql.secure_connection = Off修改成 mssql.secure_connection = On。

3、把PHP文件夹下的php_mssql.dll和ntwdblib.DLL这两个文件拷贝到C:windowssystem32文件夹下。

4、重启Apache,OK

*/
//用mssql_connect

 代码如下 复制代码
$conn=mssql_connect('localhost','pandao','1987') or die('111cn.net数据库连接不上');
mssql_select_db('test',$conn);
//query语句
$Query="select * from news";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
 代码如下 复制代码
header( "content-type:image/gif ");
include( "../inc/conn.php教程 ");
mysql_select_db( "ce_cdprog ",$db);
$rs=mysql_query( "select   *   from   pic   where   id=$id ");
$row=mysql_fetch_array($rs);
echo   $row[ "mc "];

//方法二

 代码如下 复制代码
while (($row=$results->fetch_assoc()) !==null)
{
header( "Content-type:{$row['image_type']}");
echo $row['image'];
imagedestroy($img);
}

//图片保存到数据库

 代码如下 复制代码
move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
   $instr = fopen("latest.img","rb");
   $image = addslashes(fread($instr,filesize("latest.img")));
   if (strlen($instr) < 149000) {
      mysql_query ("insert into pix (title, imgdata) values ("".
      $_REQUEST[whatsit].
      "", "".
      $image.
      "")");
   } else {
      $

errmsg = "Too large!";
   }

php教程 SQL Server Authentication连接部分代码
*/

$serverName = "(local)"; //数据库教程服务器地址
$uid = "pandao"; //数据库用户名
$pwd = "1987"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"test");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
    echo "连接失败!";
    die( print_r( sqlsrv_errors(), true));
}
$query = sqlsrv_query($conn, "SELECT TOP 10 nid,title,content FROM test.dbo.news");
while($row = sqlsrv_fetch_array($query)){
    echo $row['nid']."-----".$row['title']."<br/>";
}
?>

sqlserver2005或者sqlserver2008

请先到此处下载驱动

http://www.microsoft.com/downloads/details.asp教程x?FamilyId=61BF87E0-D031-466B-B09A-6597C21A2E2A&displaylang=en

下载后解压文件

配置:

1.将解压的php_sqlsrv.dll 和 php_sqlsrv_ts.dll 放到PHP的扩展目录中(PHPEXT)。
2.编辑php.ini文件(在windows文件夹下),添加以下扩展:
extension=php_sqlsrv.dll
extension=php_sqlsrv_ts.dll
3.去掉;extension=php_mssql.dll前的分号

 SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。

  1.Windows Authentication连接部分代码段:

    

    <?php

             $serverName = "(local)";

             $connectionInfo = array("Database"=>"TestingInfo","ConnectionPooling"=>false);

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

            if(! $conn){

                      echo "o no!!!!!";

                      die( print_r( sqlsrv_errors(), true));

             }else{

                     echo "yes done";
            }

        ?>

  2.SQL Server Authentication连接部分代码段:

       <?php

             $serverName = "(local)";

             $uid = "dbusername";//数据库用户名

           $pwd = "dbuserpass";//数据库用户密码

             //下面的Database为数据库名

             $connectionInfo =   array("UID"=>$uid,"PWD"=>$pwd,"Database"=>"dbname");

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

              if(! $conn){

                   echo "o no!!!!!!!";

                    die( print_r( sqlsrv_errors(), true));

               }else{

                      echo "yes done";

               }

      ?>

下载驱动程序,我下载的是2.0的,下载后安装释放程序,里面有以下文件:

php教程_pdo_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_ts.dll

php_pdo_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc9.dll

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(自述文件)

 

下面是自述文件里的内容,我翻译一下:

 

驱动程序文件
 PHP 版本
 线程安全性
 用于PHP .dll
 
php_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc6.dll
 5.3
 no
 php5.dll
 
php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll
 5.3
 no
 php5.dll
 
php_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc6.dll
 5.3
 yes
 php5ts.dll
 
php_sqlsrv_53_ts_vc9.dll

php_pdo_sqlsrv_53_ts_vc9.dll
 5.3
 yes
 php5ts.dll
 
php_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_nts.dll
 5.2
 no
 php5.dll
 
php_sqlsrv_52_ts.dll

php_pdo_sqlsrv_52_ts.dll
 5.2
 yes
 php5ts.dll
 

 

关于VC6和VC9的区别,还有非线程安全与线程安全

 

VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。

Non Thread Safe就是非线程安全,在执行时不进行线程(Thread)安全检查;

Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源;

 


开始配置

 


我用的是APMserv 搭建的PHP环境(Apache 2.2.9+PHP 5.2.6+MySQL 5.1.28),想用线程安全的,所以选择php_sqlsrv_52_ts.dll和php_pdo_sqlsrv_52_ts.dll。

开始工作,先把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini
的Extensions后面加上:

;extension=php_sqlsrv_52_ts.dll

;extension=php_pdo_sqlsrv_52_ts.dll

再重启Apache。

最后测试一下是否成功,看一下phpinfo的sqlsrv

 


如图所示这样就表示连接成功了!!开始工作喽!

 

连接数据库教程

 

使用过SQL Server的人应该都清楚,SQL Server常用的有两种认证方式,一种是本地系统账户认证(Windows Authentication ),一种是使用用户名和密码(SQL Server Authentication ),第二种认证方式必须启用SQL Server的混合模式。

 

1.Windows Authentication连接部分代码段


*/

 

 代码如下 复制代码
$serverName = "(local)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
    echo "连接失败!";
    die( print_r( sqlsrv_errors(), true));
}

 

//《ACCESS数库转换成MYSQL数据库教程》看不懂的朋友可加QQ:345838256/////////////////////////////////
//本人采集来的数据是ACCESS的,但我的程序是mysql的,故写了一个程序,程序三步走,分享一下...喜欢操作数据库的朋友应该都会用到的.///////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////1.连接mysql////////////////////////////////////////////////////////////

 代码如下 复制代码
$dbhost="localhost:3307";//服务器
$db="dataname";//数据库
$dbuser="root";//用户名
$dbpass="*******";//密码
$db_qianzhui="sdb_";//表前缀
$link=mysql_connect($dbhost,$dbuser,$dbpass);
if(!$link) echo "链接失败!";
else echo "成功!!!";
mysql_query("SET NAMES 'UTF8'"); //////////////////////////
mysql_query("SET CHARACTER SET UTF8"); /////////////////////>>>解决乱
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");/////////////>>>码问题
mysql_select_db("{$db}");////////////////////////////////// 

 

[!--infotagslink--]

相关文章

  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    这篇文章主要介绍了IntelliJ IDEA2021.1 配置大全(超详细教程),需要的朋友可以参考下...2021-04-18
  • Windows VPN服务器配置图文教程 超详细版

    VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • Tomcat配置及如何在Eclipse中启动

    这篇文章主要介绍了Tomcat配置及如何在Eclipse中启动,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-04
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • Laravel4安装配置的方法

    如果我们需要安培Laravel4的话最php最低要求要在php5.3.7版本并且我们需要把mcrypt与openss这两个扩展开启才可以,具体步骤我们参考下文。 前面我们介绍我了 com...2016-11-25
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21