PHP ADODB 数据库操作

wwx840723 2014-09-03 09:54:33
最近在做一个项目,客户那边是MSSQL,但我这里的资源就只有MYSQL,所以选择了ADODB来操作。开发完MYSQL版无问题后把代码打包给客户(客户那边因为安全性问题,一切资源都不提供),测试结果通过往来邮件解决,发现Execute对于增删改不执行。
只贴出关键代码。因为时间紧急,不能去对方服务器测试,也访问不到页面,。有知道的大大能告知下吗?


$db = ADONewConnection(“"mssqlnative"”);
$sql9 = "UPDATE table SET table_type=1 WHERE user_id=1";
$db->Execute($sql9);
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwx840723 2014-09-05
  • 打赏
  • 举报
回复
测试结果出来了,是数据库编码不一致。 页面报错: An error occurred translating the query string to UTF-16 网站页面编码全部用utf-8,连接mssql数据库时候也设置了utf-8,为啥还报编码错误呢?有什么解决方案?
wwx840723 2014-09-03
  • 打赏
  • 举报
回复
好久不见叨唠老大,我说明下我的情况 我只是贴觉得可疑代码,因为mysql版本没有问题呢。 然后 我把$db = ADONewConnection("mysql");改为$db = ADONewConnection("mssqlnative");打包发给客户的,客户那儿测试结果是上面两块地方得不到正确数据,我也尝试过让客户开启$db->debug = true;也没有发现报错。 项目代码在php+mysql环境里面运行都正常。搬到客户那儿php+mssql就不正常了,另外mysql版本是5.3,MSSQL是2008
xuzuning 2014-09-03
  • 打赏
  • 举报
回复
不要开玩笑!你得先加载相应数据库的扩展,才能使用 adodb类库 adodb类库也用错误处理机制,你都不看他提供的错误信息的吗
wwx840723 2014-09-03
  • 打赏
  • 举报
回复

		$sql = "SELECT * FROM table WHERE user_id=1";
		$rs = $db->Execute($sql);
		$num = $rs->RecordCount();
		if($num>0)
		  {
			$row = $rs->FetchRow();
                       echo  $row['user_id'];//MYSQL能得到值,MSSQL得不到,MSSQL是需要$row[0]才可以输出值。
                  }
不是说adodb类库是只需要改配置文件就可以连接多种数据库吗?为啥这儿不一样,很令人费解。有知道原因的吗?
wwx840723 2014-09-03
  • 打赏
  • 举报
回复
对了,我用的是adodb类库包。
wwx840723 2014-09-03
  • 打赏
  • 举报
回复
这个没有问题,sorry,是我复制时候没注意,这个是手误,刚打完这篇,就被客户电话催了,没来得及检查就发表了。
引用 1 楼 zhangbin1988 的回复:


$db = ADONewConnection(“"mssqlnative"”);//双引号中文状态下的

ayzen1988 2014-09-03
  • 打赏
  • 举报
回复


$db = ADONewConnection(“"mssqlnative"”);//双引号中文状态下的

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧