你们。。我的if-else语句有什么不对吗。。我试着输入数据库中已经存在的用户名,它起作用了。。如果我离开文本框epmty也是一样的。。但是,如果尝试输入有效名称,则不会读取else语句。。有人能帮我吗我找不到的问题在哪里
<?php
include 'connect.php';
$username = ($_POST['txtUsername']);
$statement = $mysqli->prepare("SELECT companyUsername FROM tblpartner WHERE companyUsername=?");
$statement->bind_param("s", $username);
$statement->execute();
$statement->bind_result($username);
if ( $statement->fetch()) {
echo '<span class="error"> taken</span>';
} else if(empty($username)) {
echo '<span class="error"> Cannot be empty</span>';
} else
echo '<span class="success"> available.</span>';
?>
我认为您做得基本正确,但只是感到困惑,因为您将输入名称和输出结果都绑定到$username。
如果我正确理解您的要求,您需要检查用户名输入是否为"空"条件,并检查用户名输出的NULL,以表示名称可用。。。
因此:
$username = ($_POST['txtUsername']);
if (empty($username) || ($username == '')) {
echo '<span class="error"> Cannot be empty</span>';
} else {
$statement = $mysqli->prepare("SELECT companyUsername FROM tblpartner WHERE companyUsername=?");
$statement->bind_param("s", $username);
$statement->execute();
$statement->bind_result($username);
if ( $statement->fetch()) {
echo '<span class="error"> taken</span>';
} else {
echo '<span class="success"> available.</span>';
}
?>