PDO喜欢条件,进行大写匹配

时间:2013-04-03 21:54:38

标签: php pdo xampp

我正在尝试使用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));

我似乎无法将列中的数据放到大写的位置,因此永远不会匹配。 一直在寻找。任何帮助都会很好。

1 个答案:

答案 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