首页 > 解决方案 > 我得到不一致的查询结果

问题描述

当我将搜索字符串从网页发送到在线数据库时,有时会出现错误:

非法混合排序规则 (utf8_general_ci,IMPLICIT) 和 (utf8mb4_unicode_ci,COERCIBLE) 用于“like”操作

查询是:

"SELECT * FROM tblImagesExifSQL WHERE SourceFile LIKE '" +  document.getElementById('searchtxt').value + "'"

当我使用%在数据中的任何位置查找字符串时会发生这种情况,例如

%dad%

搜索有时会返回记录或上述错误,具体取决于我输入的字符串。我使用 php 程序将查询发送到数据库。如果我将查询粘贴到 phpMyAdmin .eg 中的 SQL 窗口中,查询始终有效

SELECT * FROM tblImagesExifSQL WHERE SourceFile LIKE '%baby%'

我已经询问了主机管理器(Hostinger),但他们也无法弄清楚。

我刚刚发现我对查询使用了错误的语法 - 我现在正在使用

"SELECT *, SourceFile LIKE '" +  document.getElementById('searchtxt').value + "' FROM tblImagesExifSQL"

谢谢

SELECT * FROM tblImagesExifSQL WHERE SourceFile LIKE '%baby%'

"SELECT *, SourceFile LIKE '" +  document.getElementById('searchtxt').value + "' FROM tblImagesExifSQL"

我仍然很想知道为什么其他语法会给出如此不一致的结果。直到大约 48 小时前它都可以正常工作。

标签: sql

解决方案


推荐阅读