热搜:NVER node 开发 php

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

2024-08-19 17:50:01
php和mssql 2000插入数据时的错误

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 转义特殊字符 ' (单引号)时为 '' (即变成两个单引号)