我正在尝试使用PDO LIKE条件从数据库中获取相应的值。现在问题是数据库中的一些值以大写字母开头。我试图用列值UPPERCASED查询数据库。
如果我使用此代码:
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $connection->prepare('SELECT * FROM ingredient WHERE name LIKE ?');
$query = '%'.$queryEntered.'%';
$stmt -> execute(array($query));
我确实得到了结果,我希望有一些基本的内容
$query = $queryEntered.'%';
$stmt -> execute(array($query));
我似乎无法将列中的数据放到大写的位置,因此永远不会匹配。 一直在寻找。任何帮助都会很好。
答案 0 :(得分:1)
这取决于您使用的字符集和排序规则。大多数MySQL安装默认为latin1_swedish_ci,它具有不区分大小写的字符串比较。您可以尝试强制进行区分大小写的比较。
'SELECT * FROM ingredient WHERE name COLLATE latin1_general_cs LIKE ?'
另见:http://dev.mysql.com/doc/refman/5.6/en/case-sensitivity.html