Php 基于用户名字段字符串中第一个字符的条件语句mysql

Php 基于用户名字段字符串中第一个字符的条件语句mysql,php,mysql,Php,Mysql,我已经创建了一个数据库,我希望在其中有两种用户类型,基本上我希望基于username字段中的序列中的第一个字符($str[0])创建一个条件语句。e、 g如果用户名以“A”开头重定向到A.html,否则用户名以“B”开头重定向到B.html 我做了一个基本的尝试,但失败了 if($myusername==$str ==='a:0;') { $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='

我已经创建了一个数据库,我希望在其中有两种用户类型,基本上我希望基于username字段中的序列中的第一个字符($str[0])创建一个条件语句。e、 g如果用户名以“A”开头重定向到A.html,否则用户名以“B”开头重定向到B.html

我做了一个基本的尝试,但失败了

  if($myusername==$str ==='a:0;') {
    $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";

} else if ($myusername==$str ==='b:0;'){
    $sql="SELECT * FROM $tbl_two WHERE username='$myusername' and password='$mypassword'";
}
$result=mysql_query($sql);

我想你的问题是:

如何选择字符串的第一个字符:

$string = "abc";
echo $string[0];
// This will output: "a"
使用同一变量比较两个条件

if($myusername === $str && $myusername[0] === 'a') {
  // Do something..
}

我仍然不太确定我是否理解您想要实现的目标,但至少这会引导您朝着正确的方向前进:)

查看您的代码,a:0;似乎来自于正在解析的变量,它提供的不仅仅是您想要的值

您真正想要的是直接读取该值(即,您如何读取该值?),并检查第一个字符是否是您想要的:

$myusername = $_POST['username'];
要基于第一个字符进行重定向,如下所示:

$firstChar = substr($myusername, 0, 1);

if ($firstChar == "a")
    $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
elseif ($firstChar == "b")
    $sql="SELECT * FROM $tbl_two WHERE username='$myusername' and password='$mypassword'";

如果您有两个以上的选项,您可能希望执行switch语句,而不是“If”。

我看不出代码中“第一个字符”的原因。你能解释一下你的需求吗,或者写一个你想要实现的伪代码吗?我需要创建一个带有两个会话区域的登录,我试图使用用户名字符串的第一个字符触发一个sql语句