> 백엔드 개발 > PHP 튜토리얼 > php和mssql 2000插入数据时的错误

php和mssql 2000插入数据时的错误

WBOY
풀어 주다: 2016-06-23 13:47:15
원래의
988명이 탐색했습니다.

Warning: mssql_query() [function.mssql-query]: message: Line 14: Incorrect syntax near '无'. (severity 15) in function.php on line 22

Warning: mssql_query() [function.mssql-query]: message: Unclosed quotation mark before the character string ' )'. (severity 15) in function.php on line 22

Warning: mssql_query() [function.mssql-query]: Query failed in function.php on line 22

百度了下,说是编码的问题,但是不管我把function。php编码改成utf-8或者gb2312还是报同样的错误,请各位朋友帮忙看下


回复讨论(解决方案)

有可能是你的文件有BOM,把文件BOM去掉试试

贴出你的 sql 指令!

2楼的文件bom是什么?

贴出你的 sql 指令!


$command=
"SELECT DISTINCT 
YEAR(sj) AS nian
FROM dbo.table";
$dataset=mssql_query($command,$link);

这显然与错误信息 message: Line 14: Incorrect syntax near '无'. (severity 15) 不符

这显然与错误信息 message: Line 14: Incorrect syntax near '无'. (severity 15) 不符



不好意思,贴错文件。应该是这个

function Add($dj,$sl,$sj,$mc,$ctmc)
{
include “../connect.php";
$command=
"INSERT INTO dbo.canyinzc
(
dj, 
sl, 
sj, 
mc, 
ctingmc
)
VALUES 
(
$dj, 
$sl, 
CONVERT(DATETIME, '$sj', 102), 
'$mc', 
'$ctmc'
)";
$dataset=mssql_query($command,$link);
}

echo $command;
看看是什么?

贴出你的 sql 指令!


INSERT INTO dbo.canyinzc ( dj, sl, sj, mc, ctingmc ) VALUES ( 0, 0, CONVERT(DATETIME, '2014骞?0??0??, 102), '无', '涓?ゼ椁??' )

sql语句一输出变成乱码了

没有环境无法测试,需要注意的是:
1、mssql 2000 只支持 gbk,所以你必须使用 gbk 编码
2、如果字段 mc 是 nvarchar 类型的,插入的数据可能需要做类型转换声明 N'无'
     其他类同
3、mssql 2000 转义特殊字符 ' (单引号)时为 '' (即变成两个单引号)

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿