首页数据库php连接sql server数据库(sql数据库基础知识)

php连接sql server数据库(sql数据库基础知识)

编程之家2026-05-24800次浏览

其实php连接sql server数据库的问题并不复杂,但是又很多的朋友都不太了解sql数据库基础知识,因此呢,今天小编就来为大家分享php连接sql server数据库的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

php连接sql server数据库(sql数据库基础知识)

怎样用PHP连接sql数据库

1、学习的方法,最好是看手册

在前一篇文章中涉及到了连接数据库sqlsrv_connect();还记得我们mysql连接数据库的时候也是mysql_connect();两者操作数据库是很相似的。从零基础开始学起的话,只能是查阅手册。查看一下sqlsrv有哪些函数提供我们使用!推荐网址是:

【注意】很多的方法都跟mysql提供的方法很相似,看到后面的函数名就大概知道里面的用法,比如说mysql执行sql语句的时候调用mysql_query();而sqlserver执行sql语句的时候调用也是sqlsrv_query(),但是特别注意一点就是,它们的传递参数不一样。详细的只能看一下手册。接下来我简单总结一下操作数据的方法

2、连接数据库sqlsrv_connect()

<?php$serverName="serverName\sqlexpress";//服务器的名字,本地localhost$connectionInfo= array("Database"=>"dbName","UID"=>"userName","PWD"=>"password");$conn= sqlsrv_connect($serverName,$connectionInfo);if($conn){ echo"Connection established.<br/>";

}else{ echo"Connection could not be established.<br/>"; die( print_r( sqlsrv_errors(), true));

php连接sql server数据库(sql数据库基础知识)

}

3、操作数据库

1)执行sql语句sqlsrv_query(),返回值为true或者false,这里函数的用法跟mysql_query(),不一样。它需要把连接的资源句柄当作参数传进去,看源码。资源句柄就是上面代码连接数据库的“$conn”。

$sql="select* from test1";//sql语句$data= sqlsrv_query($conn,$sql);//$conn资源句柄if($data== true){ die("执行成功");

}else{ die("执行失败");

}

php连接sql server数据库(sql数据库基础知识)

2)获取结果集

//以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。类似于mysql_fetch_arraysqlsrv_fetch_array

//以对象形式检索下一行的数据。sqlsrv_fetch_object 1234

$sql="select* from test1";$data= sqlsrv_query($conn,$sql);if($data== true){ while($row= sqlsrv_fetch_array($data, SQLSRV_FETCH_ASSOC)){ echo$row['id'].",".$row['name']."<br/>";

}else{ die( print_r( sqlsrv_errors(), true));

}

}

$sql="SELECT fName, lName FROM Table_1";$stmt= sqlsrv_query($conn,$sql);if($stmt=== false){ die( print_r( sqlsrv_errors(), true));

}while($obj= sqlsrv_fetch_object($stmt)){ echo$obj->fName.",".$obj->lName."<br/>";

}

3)显示错误信息sqlsrv_errors():上面都有用到这个函数,只要是操作数据库发生错误,都可以使用这个函数打印出来看一下压

这里就不用上代码了

怎么配置apache连接sqlserver

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

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(自述文件)

?

关于VC6和VC9的区别

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

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

?

开始配置

选择php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini

的Extensions后面加上:

extension=php_sqlsrv_53_ts.dll

extension=php_pdo_sqlsrv_53_ts.dll

再重启Apache服务。

最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!

?

1.Windows Authentication连接

<?php

$serverName="(localhost)";

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

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

if($conn== false)

{

echo"连接失败!";

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

}

?>

?

2.SQL Server Authentication连接

?

<?php

$serverName="localhost";//数据库服务器地址

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

$pwd="123";//数据库密码

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

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

if($conn== false)

{

echo"连接失败!";

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

}

//执行有结果集的SQL语句

$query= sqlsrv_query($conn,"select* from tb_goods");

while($row= sqlsrv_fetch_array($query))

{

echo$row[0]."-----".$row[1]."<br/>";

}

//执行增删改的SQL语句

?$rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'");

?$num=sqlsrv_rows_affected($rs);//返回修改的行数

?if($num>0)

{

echo'修改成功!'.$num?;

}

else

{

echo'修改失败!';

}

?>

?

用于 SQL Server Driver for PHP的 API名称是 sqlsrv。所有 sqlsrv函数都以 sqlsrv_打头,

SQL Server Driver for PHP包含以下函数:

函数说明

sqlsrv_begin_transaction开始事务。

sqlsrv_cancel取消语句;并放弃相应语句的所有未决结果。

sqlsrv_client_info提供有关客户端的信息。

sqlsrv_close关闭连接。释放与相应连接关联的所有资源。

sqlsrv_commit提交事务。

sqlsrv_configure更改错误处理和日志记录配置。

sqlsrv_connect创建一个连接,并将其打开。

sqlsrv_errors返回关于上一操作的错误和/或警告信息。

sqlsrv_execute执行预定义语句。

sqlsrv_fetch使下一行的数据可供读取。

sqlsrv_fetch_array以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。

sqlsrv_fetch_object以对象形式检索下一行的数据。

sqlsrv_field_metadata返回字段元数据。

sqlsrv_free_stmt关闭语句。释放与相应语句关联的所有资源。

sqlsrv_get_config返回指定配置设置的值。

sqlsrv_get_field按索引检索当前行中的字段。可以指定 PHP返回类型。

sqlsrv_has_rows检测结果集是否具有一行或多行。

sqlsrv_next_result使下一结果可供处理。

sqlsrv_num_rows报告结果集中的行数。

sqlsrv_num_fields检索活动结果集中的字段数。

sqlsrv_prepare准备 Transact-SQL查询,但不执行该查询。隐式绑定参数。

sqlsrv_query准备 Transact-SQL查询,并将其执行。

sqlsrv_rollback回滚事务。

sqlsrv_rows_affected返回有所修改的行的数目。

sqlsrv_send_stream_data在每次调用函数时向服务器发送最多八千字节(8 KB)的数据。

sqlsrv_server_info提供有关服务器的信息。

Linux下PHP 5.2.17测试成功

tar zxvf freetds-0.8.2.tar.gz

cd freetds-0.8.2/

./configure--enable-msdblib--prefix=/usr/local/freetds--with-tdsver=8.0

make&& make install

cd/home/lnmp0.9/php-5.2.17/ext/mssql/依个人可能不同

/usr/local/php/bin/phpize####php扩展信息

./configure--with-php-config=/usr/local/php/bin/php-config--with-mssql=/usr/local/freetds

make&& make install

vim/usr/local/php/etc/php.ini

在extension="pdo_mysql.so"下面添加

extension="mssql.so"

保存后,/root/lnmp restart即可

若搜索的结果有中文乱码则

vim/usr/local/freetds/etc/freetds.conf

[global]加上

client charset= utf8

$sql=mssql_connect('192.168.0.185','sa','1','1433');

mssql_select_db('test',$sql);

$result=mssql_query("select top 10* from test1")

while($row=mssql_fetch_assoc($result)){

print_r($rows);

}

freetds-0.8.2.tar.gz下载地址:

免费下载地址在

用户名与密码都是www.linuxidc.com

php连接远程数据库

在php中如果要连接远程数据库连接方法很简单,只要把本地连接localhost或127.0.0.1改成指定远程服务器一IP地址或者直接域名即可。

语法

mysql_connect(servername,username,password);

例子

在下面的例子中,我们在一个变量中($con)存放了在脚本中供稍后使用的连接。如果连接失败,将执行"die"部分:

代码如下:

<?php

$con=mysql_connect("localhost","peter","abc123");

if(!$con)

{

die('Couldnotconnect:'.mysql_error());

}

//somecode

?>

上面是连接本地数据库,下面把localhost改成远程IP即可了

实例代码如下:

$conn=mysql_connect(';);

if(!$conn)echo"失败!";

elseecho"成功!";

//从表中提取信息的sql语句

$sql="SELECT*FROMuserwhereuserName='$user_name'";

//执行sql查询

$result=mysql_db_query('info',$sql,$conn);

//获取查询结果

$row=mysql_fetch_row($result);

mysql_close();

好了,文章到这里就结束啦,如果本次分享的php连接sql server数据库和sql数据库基础知识问题对您有所帮助,还望关注下本站哦!

制造云3d模型库,3d建模素材网站php编程代码大全 vba编程代码大全