【发布时间】:2013-11-20 10:39:23
【问题描述】:
我正在尝试制作一个与 mysql 数据库交互并允许通过用户名查找某人的脚本。但问题是它没有比较字符。在我的数据库中,用户名是“abcd”,小写。但是当我去
localhost/ABCD 或 本地主机/Abcd 或 localhost/ABcd 或任何大写或小写,它显示相同的结果。我想要不同情况下的不同结果。我不知道该用什么。我搜索了很多,找到了 preg_match 函数,但不知道如何使用。我从数据库中为此匹配创建的函数是,
function CheckPnP($var){
$db = new mysqli ('localhost', 'root', '', 'database');
if($var){
if($result = $db->query("SELECT * FROM `view` WHERE `username` = '$var'")){
if($result->num_rows){
$rows = $result->fetch_assoc();
$_GET['username'] = $rows['username'];
$_GET['view'] = $rows['page'];
include $_SERVER['DOCUMENT_ROOT'].'/core/view.php';
return true;
}
}
}
}
而我的 view.php 页面代码是
<?php
@$view = $_GET['view'];
@$username = $_GET['username'];
if($view == 'profile'){
echo 'This is profile page.';
}
else if ($view == 'page'){
echo 'This is page.';
}
else if ($view){
header('Location: /');
}
else if (empty($view)){
echo 'this is view page123. ';
}
echo '<br>'.$username;
?>
view.php 页面的代码是临时的。我会尽快更改它们,但现在我需要匹配数据库中用户名的字符,并且需要完全匹配。
请帮帮我。
【问题讨论】:
-
所以他的问题是您的 MySQL 查询不区分大小写?您可能会在这里找到答案:stackoverflow.com/questions/7857669/mysql-case-sensitive-query
-
谢谢,它帮助了我,但我想问一下,我可以在 PHP 中使用任何其他方法来匹配字符吗?
-
你想在哪里进行 PHP 比较?
-
我想学习它,所以我可以在我的其他脚本中使用它。你能建议我在哪里使用 PHP 方法吗?
-
那么你到底想要什么?例如,您要测试变量 $var 是否全为小写?
标签: php regex mysqli preg-match character