两种途径:
①.、直接连接
$conn=sqlsrv_connect($servname, $conninfo);
$sql="select * from Pinfo";
$db=sqlsrv_query($conn, $sql);
while($row=sqlsrv_fetch_array($db))
{
}
②.、使用PDO抽象数据层连接
$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!";
class
connCls{
private
$host;
//主机名
$name;
//用户名
$pass;
//密码
$db;
//数据库名
$type;
//编码类型
等
public
$sql;
//sql语句
$tbl;
//表
$n;
//表中的字段
$v;
//表中字段的值
$id;
//获取的id字段
$result=1;//结果集
$page;
//当前页
function
__construct($host,$name,$pass,$db,$type){
//构造函数初始化
$this-host=$host;
$this-name=$name;
$this-pass=$pass;
$this-db=$db;
$this-type=$type;
$this-connect();
//调用连接数据库函数
//---------------------------------------------------------------------------------
connect(){
//定义连接数据库函数
$link=@mysql_connect($this-host,$this-name,$this-pass)or
die("连接数据源失败!错误原因:".mysql_error());
@mysql_select_db($this-db,$link)or
die("抱歉,您选择的数据库".$this-db."不存在!!!");
mysql_query("set
names
'$this-type'");
//防止出现乱码
query($sql){
//定义执行sql语句函数
$rs=mysql_query($sql);
//执行给定的sql语句
return
$rs;
//返回结果集
具体的步骤如下:
②.:确定SQL装的时候用的是混合认证模式,或SQL验证模式,然后打开php的配置文件(php.ini),开启mssql扩展 (extension=php_pdo_mssql.dll前面的分号去掉)并且需要把mssql.secure_connection = On 重启后生效.
如果比较顺利的话已经可以连接数据库了,如果连不上就需要继续低下的配置:
如果不知道可以在phpinfo里看Zend Extension Build这个属性如下图:
②.:将扩展拷贝到拷到php/ext目录下,在php.ini文件,添加一下代码:
extension=在ext下的pdo扩展(用于pdo)
extension=在ext下的扩展
③.:重启服务器,打开phpinfo();看到以下状态就证明添加扩展成功,
④.:连接测试:
php
$serverName = "(local)";
$connectionInfo = array("UID"="sa","PWD"="admin","Database"="db_online");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ){
echo "Connection established.\n";
}else{
echo "Connection could not be established.\n";
die( var_dump(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
. . .
不然会出现如下错误:
array
0 =array
①. =array
①. =int0
'code' =int0
. . . .
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!