当前位置:  首页  >  PHP教程  >  PHP 高级  >  异常处理

php进行sqlserver操作报错解决办法

php进行sqlserver操作报错php对sqlserver2000进行操作sql语句是:insertintosomeTablevalues('1111111','222222','33333333333','1100100',4,'5100005','盘尼西林','01','0.125g*
php进行sql server操作报错
php对sql server 2000进行操作
sql语句是:
insert into someTable values('1111111','222222','33333333333','1100100',4,'5100005','盘尼西林','01','0.125g*20','口服常释剂型',16,1,16,0,0,'0','1','2012-05-07','YP','11','盒',16,0,0,0,'01','01',16,0,0,'ZL001','2012-5-7','/','/','/')
在sql sever2000的sql查询分析器执行没问题,但在php中执行报错,代码如下:
PHP code






报错如下:
link db success!
Warning: mssql_query() [function.mssql-query]: message: 第 1 行: '01' 附近有语法错误。 (severity 15) in C:\AppServ\www\test\insert.php on line 14

Warning: mssql_query() [function.mssql-query]: message: 字符串 ')' 之前有未闭合的引号。 (severity 15) in C:\AppServ\www\test\insert.php on line 14

Warning: mssql_query() [function.mssql-query]: Query failed in C:\AppServ\www\test\insert.php on line 14
无法执行sql:insert into someTable values('1111111','222222','33333333333','1100100',4,'5100005','盘尼西林','01','0.125g*20','口服常释剂型',16,1,16,0,0,'0','1','2012-05-07','YP','11','盒',16,0,0,0,'01','01',16,0,0,'ZL001','2012-5-7','/','/','/')

请问问题出在哪里?sql语句应该是没问题的,为何报错?谢谢各位

------解决方案--------------------
有可能是转义字符的问题

'/-'->'//',试试
------解决方案--------------------
charset=utf-8 ???

sql server 2000 并不支持 utf-8 编码
特殊字符“'”需转义成“''”
------解决方案--------------------
SQL Server 2000 不以 UTF-8 形式存储数据,只在一种关键情形下支持 UTF-8,即支持可扩展标记语言(XML),故无法直接是SQL Server 2000数据库支持 UTF-8 。
吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有