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);
}
?>
<?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);
}
?>
相关文章推荐
- 关于php中使用odbc或者pdo连接sqlserver时如果查询条件中存在中文会导致查询失败的问题
- PHP正则匹配所有字符失败问题
- php 转码函数 你还在用iconv吗?-- 解决sqlserver插入中文失败问题
- php链接Sql Server失败问题及解决办法
- php远程连接虚拟机mongo数据库失败问题(奇葩)
- 解决windows下Composer因php_openssl扩展缺失而安装失败的问题
- SQLServer出现 '其他会话正在使用事务的上下文' 的问题原因,什么是环回链接服务器?(转载)
- 嵌入式 常见的undefined reference to涉及的链接问题
- PHP代码:获取指定URL页面中的所有链接
- 解决windows下Composer因php_openssl扩展缺失而安装失败的问题
- VC运行库版本不同导致链接.LIB静态库时发生重复定义问题的一个案例分析和总结
- php正则表达式取得内容所有链接的方法
- suse linux原创案例04: ssh连接反应慢问题
- php查找任何页面上的所有链接的方法
- pgbouncer中增加消息格式解析和调试信息后,导致链接失败的问题
- php 链接 sqlserver 2005以上版本数据库
- 加载动态链接库文件.so 失败出错—— No such file or directory (没有文件或目录)问题处理
- php Sql Server连接失败问题及解决办法
- pdo打开sqlserver表失败问题
- socket链接失败,程序不往下走的问题