• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ODBCを使用したSQLの使い方を教えてほしいです)

ODBCを使用したSQLの使い方を教えてほしいです

このQ&Aのポイント
  • ODBCを使ったSQLの使い方について教えてください。
  • 質問者はタイトルの内容を調べても上手くヒットせず、同じように記述してもエラーになると述べています。
  • odbc_connectは通っているようで接続はできていると思われますが、$rs=odbc_exec($conn,$sql);でエラーが発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

mysql_connect、mysql_query関数が非推奨とされ、PDOが推奨されているご時世なので、どうせなら手続き型のodbc関数はやめてPDOを利用されてみてはいかがでしょうか? こちらであればいちいち1回1回返り値をチェックしてエラー処理する必要がありません。 例外を捕まえるだけでOKです。 サンプルコード http://ideone.com/pgZzDZ 実際に動かすにはドライバを有効にする必要があります。 http://www.php.net/manual/ja/pdo.installation.php DSNに関して http://php.net/manual/ja/ref.pdo-odbc.connection.php こちらはMySQL向けに書いてますがPDOの基本的な使い方等を紹介しております。 http://qiita.com/mpyw/items/b00b72c5c95aac573b71 PostgreSQLや、PDO::MYSQL_ATTR_USE_BUFFERED_QUERYを有効にしたMySQLであれば、 1件以上あるかどうかの確認にはrowCount()を使い、fetchAll()せずにそのままステートメントをforeachにかけられるのですが、 ODBCの場合はSELECTの件数をPDOのメソッドでは取得できないようなので、いったんfetchAll()を実行してます。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>Warning: odbc_exec():が出ます。 メッセージは「それだけ」ですか? そのあとの >if (!$rs) >{ >exit("Error in SQL"); >} で終わっているということであれば、 $rs = odbc_exec($conn,$sql) or die(odbc_error($conn)); とでもしてみれば、エラーの内容がわかりませんか?

関連するQ&A