コードを mysql_query から pdo prepare()、bindValue() および execute() に変更しました
しかし、新しいコードでは、クエリの :t0 にヘブライ語の値をバインドすると
select * from product where ( prd_name_HEB like :t0 or prd_code like :t0 )
私は得る
General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (hebrew_general_ci,COERCIBLE) for operation 'like'
- prd_code 照合は latin1_swedish_ci です
- prd_name_HEB 照合は hebrew_general_ci です
- :t0 照合が不明です。
現在、DB 全体を utf8_unicode_ci に変更することはできません。
クエリで COLLATE を使用して照合を設定できることは理解していますが、どこに追加すればよいかわかりません。
次のクエリの「like」と「COLLATE」を使用した正しい構文を教えてください。
select * from product where ( prd_name_HEB like :t0 または prd_code like :t0 )
PDO bindValue() に照合を追加する方法はありますか?
ありがとう。