小编ls0*_*009的帖子

如何使用 PHP 和 sqlsrv 驱动程序清理输入?

我正在开发一个使用 sqlsrv 驱动程序的 PHP MSSQL 项目。阻止 SQL 注入攻击的最佳方法是什么?我需要类似 mysql_real_escape_string() 的东西,但用于 sqlsrv 驱动程序。

sql sanitization sql-injection sql-server-2008

3
推荐指数
1
解决办法
3708
查看次数

SQL选择无效,因为它不包含在聚合函数中

这是问题,我想在表格中显示一列的月份,计数和平均值,但是当我尝试按月分组时,我一直收到错误.

这是代码:

SELECT MONTH(ContractDate) AS Q, 
       DATENAME(month, ContractDate) AS M, 
       COUNT(ContractDate) AS C, SUM(ContractPrice) AS S 
       FROM dashboard
       WHERE YEAR(ContractDate) = $year
       AND ContractDate IS NOT NULL
       AND ContractPrice IS NOT NULL
   GROUP BY MONTH(ContractDate)
Run Code Online (Sandbox Code Playgroud)

但这会导致错误:

[Microsoft][SQL Server Native Client 10.0][SQL Server]
Column 'dashboard.ContractDate' is invalid in the select 
list because it is not contained in either an aggregate 
function or the GROUP BY clause.
Run Code Online (Sandbox Code Playgroud)

但是如果我把它MONTH()从组中移除......它工作得很好..但我需要按月分组,否则我得到同一个月的多个不算一个.

对不起,我做了搜索,并且有很多答案,但就像我说我是菜鸟,他们并没有真正帮助我,因为我不明白为什么会这样.

sql sql-server-2008

0
推荐指数
1
解决办法
7442
查看次数