【问题标题】:MS Access Query with Parameter does not work with php / sql带参数的 MS Access 查询不适用于 php / sql
【发布时间】:2018-12-26 08:44:51
【问题描述】:

我有一个使用 php odbc 连接的访问​​数据库。 当我使用 php 访问具有与其关联的 ms 访问参数(用于参数条目的访问中弹出)的查询时,会出现问题。

Warning: odbc_exec(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

我的代码如下:

<?php 

    function od_get_test() {
        // Executing Query ...
        global $cnx;
        $query = "SELECT * FROM qry_DailyIssued WHERE Issue=1 " ; // Issue is a ms access query parameter
        $od_flat_stock = odbc_exec($cnx, $query);
        confirm_query($od_flat_stock);
        return $od_flat_stock;
    }

     $od_test = od_get_test();

?>

【问题讨论】:

  • 您希望发生什么?我的意思是,它是服务器端代码,因此您不会让用户坐在可以显示提示的桌面前。
  • 我希望在 php 查询中指定该参数。参数是“问题”,它不像上面代码中定义的那样工作。

标签: php ms-access odbc


【解决方案1】:

提供要求的参数namevalue

$query = "SELECT * FROM qry_DailyIssued WHERE Issue=1 AND [NameOfParameter] = " & SomeValue & ""

或者,如果值为文本:

$query = "SELECT * FROM qry_DailyIssued WHERE Issue=1 AND [NameOfParameter] = '" & SomeValue & "'"

【讨论】:

  • 我已经给出了参数。请参阅代码中的注释。 “Issue”是查询访问执行时弹出的参数。
  • 如果你有,你不会看到错误。所以,要么是Issue 拼写错误或不存在,要么qry_DailyIssued 有第二个你不知道的参数。
  • 不,事实并非如此。我已经尝试了两个不同的查询,并且参数出现了相同的错误。如果我删除参数,它就会运行。
  • 仔细检查。唯一的其他选择是 Issue 是保留字,因此应该用括号括起来,[Issue],但我不认为是这种情况。
猜你喜欢
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 2010-12-01
  • 2015-06-28
  • 1970-01-01
相关资源
最近更新 更多