1. ホーム
  2. php

[解決済み] 無効なカーソル状態、SQLExecDirect の SQL 状態 24000

2022-02-10 18:25:31

質問

PHPでODBCを経由して2つのストアドプロシージャを順番に呼び出す必要があります。

#run stored procedure 1
$query = "Shipped_Not_Shipped_Rep ".$_GET['rep_id'];
$result = odbc_exec($dbh, $query);
odbc_result_all($result);

#run stored procedure 2
$query = "Shipped_Not_Shipped_Account ".$_GET['account_id'];
$result = odbc_exec($dbh, $query);
odbc_result_all($result);

ストアドプロシージャの2回目の呼び出しの後、PHPでこのエラーが発生しました。

Warning: odbc_exec() [function.odbc-exec]: SQLエラーです。 [unixODBC][FreeTDS][SQL Server]無効です。 カーソル状態、SQL状態24000で SQLExecDirect

ストアドプロシージャを呼び出す順番を変更すると、常に2番目にエラーが発生します。 呼び出しの間にカーソル位置をリセットする方法はありますか? 私の専門外ですが。

解決方法は?

データベースへのハンドルを2つ開いてください。 ODBCはおそらくハンドルにカーソルを維持します。