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

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);


}
?>

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值