使用PHP正确使用SQL server查询

使用PHP正确使用SQL server查询,php,sql,sql-server,Php,Sql,Sql Server,我正在使用PHP,当我试图在SQL Server上使用以下查询时,它给了我一个语法错误,说在关键字WHERE附近有一个无效用法。如果我在查询中不使用WHERE Status='Open'部分,那么它可以正常工作,不会出现任何错误。SQL server是否将状态或打开作为关键字 $query = "SELECT * FROM ElectronicShop ORDER BY Completed WHERE Status='Open'"; 错误: Array ( [0] => Array (

我正在使用PHP,当我试图在SQL Server上使用以下查询时,它给了我一个语法错误,说在关键字
WHERE
附近有一个无效用法。如果我在查询中不使用
WHERE Status='Open'
部分,那么它可以正常工作,不会出现任何错误。SQL server是否将
状态
打开
作为关键字

$query = "SELECT * FROM ElectronicShop ORDER BY Completed WHERE Status='Open'";
错误:

Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 156 [code] => 156 [2] => [Microsoft][SQL Server Native Client 10.0][SQL Server]
Incorrect syntax near the keyword 'WHERE'. [message] => [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near the keyword 'WHERE'. ) )

WHERE子句必须在ORDER BY子句之前(对于任何数据库,这与SQL Server无关)


除非您在.net中使用Linq to实体;-)@凯文:谢谢你给我举个例子。现在它说,
数据类型text和varchar在equal to运算符中不兼容
。我是否应该将
打开
转换为其他内容?状态类型为文本?你为什么用这种类型?我更喜欢nvarchar。读一些关于SQL的书
$query = "SELECT * FROM ElectronicShop WHERE Status='Open' ORDER BY Completed";