Home >Backend Development >PHP Tutorial > php进行sql server操作报错解决办法

php进行sql server操作报错解决办法

WBOY
WBOYOriginal
2016-06-13 13:32:411112browse

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
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<?php mssql_connect("someIP","id","pass");
if($con)
    echo "link db success!";
else
    echo "link db failed!". mysql_error();

$db = mssql_select_db( "someDatabase",$con) or die("无法选择db");

$query = "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','/','/','/')";

$result = mssql_query($query) or die("无法执行sql:$query");
?>



报错如下:
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 。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn