【问题标题】:syntax for EXEC stored procedure for update query用于更新查询的 EXEC 存储过程的语法
【发布时间】:2015-12-10 11:59:10
【问题描述】:

使用 SQLSRV 执行存储过程时出现跟随错误。

Array ( 
  [0] => Array ( 
          [0] => 42000 
          [SQLSTATE] => 42000 
          [1] => 102 
          [code] => 102 
          [2] => [Microsoft]
          [ODBC Driver 11 for SQL Server] 
          [SQL Server] Incorrect syntax near '='. 
          [message] => 
               [Microsoft]
                   [ODBC Driver 11 for SQL Server]
                      [SQL Server]Incorrect syntax near 'r'. ) 
                           [1] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 8180 [code] => 8180 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Statement(s) could not be prepared. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Statement(s) could not be prepared. ) )

$tsql_callSP = "EXEC usp_u_social_twitter var_tweet = ?, var_screenname = ?, var_maxid = ?, var_link = ?, varid = ?";  

我使用的代码如下

$tsql_callSP = "EXEC usp_u_social_twitter var_tweet = ?, var_screenname = ?, var_maxid = ?, var_link = ?, varid = ?";

$stmt3 = sqlsrv_prepare( $conn, $tsql_callSP, array(&$tweet, &$screenname, &$maxid, &$link, &$id));

我在这里缺少什么语法。此处列出的这些变量名称不是真实的。但是我在这里缺少一些语法...

如果我给出正常的更新查询...使用相同的变量名...

请帮助我...提前谢谢... 这是什么正确的语法...即使在堆栈中也找不到示例程序。

【问题讨论】:

    标签: php sql-server-2008 stored-procedures


    【解决方案1】:

    您在存储过程的参数开头缺少“@”。应该是:

    $tsql_callSP = "EXEC usp_u_social_twitter @var_tweet = ?, @var_screenname = ?, @var_maxid = ?, @var_link = ?, @varid = ?";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多