欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-02-05 09:05:40
...
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 转义特殊字符 ' (单引号)时为 '' (即变成两个单引号)