私は従来のPHPフレームワークで作業しています。私は追跡できない奇妙な動作を経験しています。LIKE式のMySQLハイフン
は、私は列がテキスト「ワードanotherword」を含むテーブルからレコードを返したいと思い、この
select * from table where column like '%word-anotherword%'
、のようになりますクエリを実行していますよ。 (列は長いテキストフィールドです)。
このクエリをphpMyAdminで実行すると、予想される結果が得られます。しかし、フレームワークの中から実行すると、結果は得られません。別の.phpファイルで実行しました。mysql_link
,mysql_query
を使用してクエリを実行しました。また、期待どおりに動作します。
フレームがmysql_query
に渡される直前に私がecho
のクエリを出すと、予想どおりのフォーマットになります。 I.我々のフレームワークは予期しない方法でそれをエスケープしていません。
私はこのフレームワークがこの動作の違いを引き起こすためにどこかのPHP設定をオーバーライドしていると仮定していますが、私はそれが何であるかについてグーグルグーグルではありませんでした。私はthis articleを見つけました。これは良いスタートと思われましたが、私が見ているものに合っているようにも見えませんでした。なぜなら、同じMySQLセットアップで異なる動作をしているからです。
正しい方向へのポインタがあれば幸いです!
mysql_client_encoding($ link)の結果は –
どのフレームワークを使用していますか? –
正しい場所でエコーをしてもよろしいですか? –