- 締切済み
varcharフィールドのデータ取得
varcharフィールドをphpで取得したいのですが255byteしかmssql_queryでは取得できません。 それ以上のデータを取得する方法、もしくはそれに変わる取得方法を教えてください。 環境 SQLsever 2005 PHP ver5.0
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- kalkichi
- ベストアンサー率64% (22/34)
VIEWを作る段階で必要なレコードだけ抽出するのがいいと思います。 別な方法としてはODBC経由ではどうでしょうか。(環境がないので試してません)
- kalkichi
- ベストアンサー率64% (22/34)
APIの仕様のようですので、VARCHARからTEXTにCASTしたVIEWをはさむしかないようです。
補足
ということはvarcharフィールドをもつテーブルに対し、INSERT・UPDATEを行う場合、 VIEWでテーブルの全件を取得、PHPでそれを表示(SELECT) 更新(追加)するときはテーブルを更新(INSERT/UPDATE) ということですか?
- yambejp
- ベストアンサー率51% (3827/7415)
失礼しました勝手にmysqlの案件だと勘違いしておりました。 SQLsever ならvarcharのサイズは大きくてもいけるのですね? 専門外なのでお役に立てません。申し訳ありません。
- yambejp
- ベストアンサー率51% (3827/7415)
>varcharフィールドをphpで取得したいのですが255byte そもそもSQLの仕様の問題では? 取得以前に保存されていないと思いますが・・・。 場合によってはtext系の型で保存する手もありますが、 検索性がおちる可能性があります。
補足
データベースのフィールドをvarchar(2000)というようにしているとINSERTができてデータは保存されます。 また、SQL文のCASTでフィールドをTEXTに変えて取得するサンプルが mssql_field_lengthのマニュアルで載っていましたが試したところ 空白が帰ってきてしまっています。 ※別の変換を試すとエラーが帰ってきているので使用方法は間違っていません。
お礼
ありがとうございます。 どうにかできそうです。