我想:
我得到"解析错误:解析第57行C:\xampp\htdocs\test.php
中的错误。
任何帮助将不胜感激!
简短信息:
以下PHP代码:
$query = "IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp"
$result = mssql_query($query);
$query = "
SELECT *
INTO #temp
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY key
ORDER BY moment desc) AS Seq, *
FROM reportstable) t
WHERE Seq = 1
and moment between '$_GET[od] $time' and '$_GET[do] $time1'"
$result = mssql_query($query);
$query = "select * from #temp"
$result = mssql_query($query);
提前致谢!
答案 0 :(得分:0)
由于一些原因,这不会按照书面形式起作用。
#temp
后,mssql_query()
正在消失。如果您需要临时表来跨多个上下文,它必须是一个全局临时表 - ##temp
。$query
,并确保日期时间格式正确。所有这一切,并假设您修复了SQL注入漏洞,在这里使用临时表是没有意义的,浪费资源。以下就足够了:
$query = "
SELECT *
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY key
ORDER BY moment desc) AS Seq, *
FROM reportstable) t
WHERE Seq = 1
and moment between '$_GET[od] $time' and '$_GET[do] $time1'"
$result = mssql_query($query);
答案 1 :(得分:0)
基于alroc建议的工作解决方案:
由于缺少分号而引发了解析错误。并且##必须始终存在才能查询表格。
public int differentFields(Foo foo1, Foo foo2) {
int differentFields = 0;
for all fields of foo1 and foo2:
if foo1.field[i] != foo2.field[i]
differentFields++;
return differentFields;
}
P.S。以上只适用于同一会话。如果你在同一时间从不同的源调用同一页面,由于试图删除临时表,会抛出一个错误。