我有一个php脚本,用于检查用户名的可用性(如果已经使用了)。但我想比较用户输入的用户名和数据库中的小写用户名。我已经将输入设置为小写,但是如何以小写形式创建检索到的列。这是php脚本
<?php
$usr = strtolower($_GET['username']);
$link = new PDO('mysql:host=***;dbname=***;charset=UTF-8','***','***');
$usr_check = $link->prepare("SELECT * FROM Conference WHERE Username = :usr");
$usr_check->bindParam(':usr', $usr);
$usr_check->execute();
if($usr_check->rowCount()>0)
echo "false";
else
echo "true";
?>
如何将用户名栏设置为小写,然后将其与$usr
进行比较?感谢
答案 0 :(得分:1)
请尝试
SELECT * FROM Conference WHERE LOWER(Username) = :usr
http://www.sqlinfo.net/mysql/mysql_function_upper_lower.php
好的,正如您在下面的评论中所说,我建议您执行以下操作。
将结果转换为小写http://sqlfiddle.com/#!2/bd50e/1
使用strtolower将比较字符串转换为小写
答案 1 :(得分:0)
您可以使用
SELECT * FROM Conference WHERE LOWER(Username) = :usr
作为查询,但这将使您获得索引的好处。
但是,如果列使用“ci”排序规则,则比较应该不区分大小写。
答案 2 :(得分:0)
如果要在MySQL中将字符串转换为较低,请使用LOWER(str)函数。