[解決済み] COUNTフィールドが正しくないか、構文エラーです。
質問
次のようなエラーメッセージが表示された場合、どのようなエラーが発生するのでしょうか。
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[07002]: [Microsoft][ODBC Driver 11 for SQL Server] COUNTフィールドが正しくないか、または構文エラー'...
これは私が使っているクエリです。
$sql = $pdo->prepare("SELECT stockamount, stockname, stockbalance.stockid, SUM(ABS(reservationtransaction.stockquantity)) AS reservedamount FROM stockbalance
JOIN stock ON stockbalance.stockid = stock.stockid
LEFT JOIN reservationtransaction ON reservationtransaction.articleid = :artid
WHERE stockbalance.articleid = :artid AND ((changeddate > DATEADD(yy,-1,GETDATE()) AND inventorydate > DATEADD(yy,-1,GETDATE())) OR stockbalance.stockamount <> 0)
GROUP BY stockbalance.stockid");
$sql->bindValue(':artid', $productId);
$sql->execute();
SOで質問を検索してみましたが、似たようなもの、参考になるものはありませんでした。
ありがとうございました。
編集する このクエリをMicrosoft SQL Server Management Studioで実行すると正常に動作するのですが、PDOを使用するとエラーが発生します。
どうすればいいですか?
<ブロッククオートSQLBindParameterで指定したパラメータの数が に含まれるSQL文のパラメータ数です。 *StatementText. SQLBindParameter が ParameterValuePtr を NULL ポインタに設定し、StrLen_or_IndPtr を SQL_NULL_DATA または *StatementText に設定しない状態で呼び出されました。 SQL_DATA_AT_EXEC、InputOutputTypeがSQL_PARAM_OUTPUTに設定されていないため。 SQLBindParameterで指定したパラメータの数が SQL 文に含まれるパラメータの数より多い。 を *StatementText に追加しました。 SQLExecute関数
プレースホルダーは同じ値であっても一意な名前でなければなりません。
$sql = $pdo->prepare("SELECT stockamount, stockname, stockbalance.stockid, SUM(ABS(reservationtransaction.stockquantity)) AS reservedamount FROM stockbalance
JOIN stock ON stockbalance.stockid = stock.stockid
LEFT JOIN reservationtransaction ON reservationtransaction.articleid = :artid
WHERE stockbalance.articleid = :artid2 AND ((changeddate > DATEADD(yy,-1,GETDATE()) AND inventorydate > DATEADD(yy,-1,GETDATE())) OR stockbalance.stockamount <> 0)
GROUP BY stockbalance.stockid");
$sql->bindValue(':artid', $productId);
$sql->bindValue(':artid2', $productId);
$sql->execute();
関連
-
[解決済み】エラー "INSERT EXEC文はネストできません。" "INSERT-EXEC文の中でROLLBACK文は使用できません。" これを解決するにはどうすればよいですか?
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] sql文の角括弧[]の使い方を教えてください。
-
[解決済み] SQL Server の更新コマンドでエラー - "現在のコマンドで深刻なエラーが発生しました".
-
[解決済み] SQL Agent を使用して SSIS パッケージを実行する際の問題 - "DTSER_FAILURE(1)" で失敗します。
-
[解決済み] SSISで新しいレコードを挿入する前に、宛先テーブルを空にするにはどうすればよいですか?
-
[解決済み] 累積和の求め方
-
[解決済み] データセットに対するSSRSクエリの実行に失敗しました
-
[解決済み] 関数内から実行できるのは、関数と一部の拡張ストアドプロシージャのみです。
-
[解決済み] SQLでNaN値をNULLに、またはNaNを0に変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プロシージャは 'ntext/nchar/nvarchar' 型のパラメータ '@statement' を想定しています。
-
[解決済み] 「ストアドプロシージャが見つかりませんでした
-
[解決済み] SQL Serverで小数点の後に2桁の数字を表示させる方法
-
[解決済み] 管理者ユーザーで有効なxp_cmdshellへのアクセスが拒否されました。
-
[解決済み] sql文の角括弧[]の使い方を教えてください。
-
[解決済み] Microsoft OLE DB Provider for SQL Server エラー '80040e14' '=' 付近の構文が正しくない
-
[解決済み] SSIS - データ損失の可能性があるため、値を変換することはできません。
-
[解決済み] SQL Serverでdatetimeを切り捨てるにはどうすればよいですか?
-
[解決済み] SQL Server のストアドプロシージャを SQL Developer で実行するには?
-
[解決済み] SQL ServerでGROUP BYと一緒にDISTINCTを使用する