0

这是我之前在 MySQL 环境中成功使用过的查询。当我尝试使用 MSSQL 时。它在此声明中出错:

$result = mssql_query("SELECT * FROM DriverAppInfo ORDER BY appdate LIMIT $startrow, 20") 

$startrow 由以下定义:

if (!isset($_GET['startrow']) or !is_numeric($_GET['startrow'])) {
  $startrow = 0;
} 
else {
  $startrow = (int)$_GET['startrow'];
}   

查询中的 $startrow 是否需要用单引号括起来?先感谢您

4

2 回答 2

1

limit关键字转换为MSSQL top/ Sql Server 域。

您需要根据 MySQL / MSSQL 对其进行抽象。记住:

PDO 不提供数据库抽象;它不会重写 SQL 或模拟缺失的功能。如果您需要该功能,您应该使用成熟的抽象层。

limit, offset另外我会提到可能不支持MSSQL,具体取决于版本。看看这个MSSQL 分页方法。

于 2013-05-14T20:24:21.453 回答
0

1) 检查mssql_get_last_message()

2)显示最终的SQL,使用类似的东西:

$sql = "SELECT * FROM DriverAppInfo ORDER BY appdate LIMIT $startrow, 20";
$result = mssql_query($sql);

echo $sql;
于 2013-05-14T20:23:17.080 回答