【问题标题】:Multiple &(AND) fails in query多个 &(AND) 查询失败
【发布时间】:2013-11-15 15:58:47
【问题描述】:

这是我的查询

$sql  =  'SELECT *
FROM Orders 
INNER JOIN [Order Details] ON Orders.OrderNumber = [Order Details].OrderNumber
WHERE 
Orders.CartID =2 
AND [Order Details].Option10 Is Null  
AND [Order Details].Status="Shipped"';

在 MS_Access sql 视图中输入此查询时,返回正确的结果, 但是当我在我的 php 脚本中复制并粘贴相同的查询时,它会失败并给出错误

参数太少,预计为 1...

虽然数据在那里,但查询正在访问中工作......

请注意,如果我省略了AND 条件,它会起作用,例如,如果我删除shipped conidtion 或is null 条件,它也会起作用..

有什么提示吗?它出什么问题了??有什么帮助吗?谢谢

【问题讨论】:

  • 听起来更像是您的 PHP 语法有问题。您可以发布用于执行查询的其余语法吗?
  • 兄弟,同样的,在这一行之后,我只是执行odbc查询
  • @Ioktenast '$rs=odbc_exec($conn,$sql);'

标签: php sql sql-server ms-access conditional-statements


【解决方案1】:

怎么样

$sql  =  "SELECT *
//-------^ double quote here

...

AND [Order Details].Status='Shipped';";
//--- single quotes here --^-------^
//---------- double quote here ------^

【讨论】:

  • 谢谢百万......并且可以更换....那为什么呢?
  • 在某些语言中,它们可以互换。在 Transact-SQL 中,它们不是。单引号' 是字符串分隔符。双引号" 是一个标识符。试试看:SELECT 'single', "double";
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多