您的位置:首页 > 编程语言 > PHP开发

PHP链接SQLserver数据库案例,涉及所有php和sqlserver链接失败的问题(原创)

2018-01-17 11:09 295 查看
php编程通常是utf-8编码,php与mysql数据库原本就是WAMP的原生配对,所以连接很容易。而实际项目中可能涉及php连接sqlserver数据库,通常都会连接不成功,由于sqlserver通常是gdk936编码,与php程序代码的utf-8编码之间就需要进行转码,不然就无法获取数据库中想要的数据。这是我实际学习中,用php连接sqlserver数据库,花费了我不好时间。终于成功传递中文字符串到sqlserver数据库,并通过数组的形式返回。贴出代码,希望对遇到php连接sqlserv数据问题的同行学习参考。

<?php

$query = iconv("utf-8", "gbk", $query);

eval('return '.iconv("GB2312//IGNORE", "UTF-8", var_export($arr,true)).';');

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

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

$db  = "Resdc"; // 数据库名

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

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

if( $conn == false) {

    echo "连接失败!";

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

}

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

$action=$_GET[action]; 

$id=strval($_GET[id]);                //因为传递的参数为中文参数,即为字符串,所以用strval,若传递的是数值,即用intval()

$id = (iconv('UTF-8','GBK',$id));     //将页面上utf8编码先转成GBK

if($action=="getlink"){

$query= sqlsrv_query($conn, "select * from resdc where dataname ='$id'");

$row = sqlsrv_fetch_array($query) ;

$list=array("name1"=>$row[download]); 

echo json_encode($list);

//print_r($row);

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: