我将代码从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'
我现在无法将整个数据库改为utf8_unicode_ci。
我知道我可以在查询中使用COLLATE来设置排序规则,但我不知道在哪里添加它。
请告诉我正确的语法是什么,使用“like”和“COLLATE”进行以下查询:
从产品中选择*(prd_name_HEB喜欢:t0或prd_code喜欢:t0)
有没有办法将排序规则添加到PDO bindValue()?
感谢。
答案 0 :(得分:0)
解决:
if searchString.containsHebrewCharacters()
select * from product where ( prd_name_HEB like :t0 )
else
select * from product where ( prd_name_HEB like :t0 or prd_code like :t0 )