检查用户名是否存在于Android代码

问题描述:

我试图检查我的EditText的文本是否已经在数据库中。我真的很新PHP & MySQL检查用户名是否存在于Android代码

我试图接收所有的用户名,并检查它是否等于EditText Text。起初它看起来不错。我检查了它与

if(!UsernameDB.equals(editUsername.getText().toString()){ 
    Toast.makeText(Register.this, "Not taken", Toast.LENGTH_SHORT).show(); 
} 

问题是,它为每个名称敬酒。所以我不能问是否一切都填写正确(电子邮件,密码等),因为它说它不匹配后,它通过匹配的名称。

有人知道我能如何解决我的问题吗?

+1

你确定字符串UsernameDB是你期望的吗?在进行比较之前,可以帮助将UsernameDB注销到adb以查看实际值。 – dungtatas

+2

目前还不清楚UsernameDB是什么,发布一些关于它的信息 – Caner

我不确定是否需要通过Ajax来完成,或者可以刷新网站。 这里是令人耳目一新的例子:所有的 首先你需要一个公式推(HTML):

<?php include("loginFunktion.php"); ?> 
<form action="" method="Post">  
     <input name="name"> 
     <input type="submit" name="test" value="test">    
</form> 

那是你的DB类(新工作表)的基本:

<?php 
class DB { 
protected $mysqli; 

function __construct(){ 
    $this->host = "***"; 
    $this->username = "***"; 
    $this->database = "***"; 
    $this->password = "***"; 

} 

function connect(){ 
    $this->mysqli = new mysqli($this->host, $this->username, $this->password, $this->database); 

    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s<br/>", mysqli_connect_error()); 
     exit(); 
    } 
} 

function disconnect() { 
    // Verbindung beenden 
    $this->mysqli->close(); 
} 
}  
?> 

现在你有包括类和你的类的构造函数连接到您的数据库(下面的代码是loginFunktion.php片):

<?php 
    include("dbclassname.php"); 
    $_DB = new DBData(); 
    $_DB -> connect(); 
?> 

现在你有一个康恩挠度你的DB和u可以做querys:

if(isset($_POST["test"])){ 
$queryCALL ="SELECT user FROM t_user WHERE user_name=".$_REQUEST["name"]; 
$result = $this->mysqli->query($queryCALL); 
$ergebnis=$result->fetch_array()[0]; 
if(count($ergebnis)>0) 
    echo "this name is used"; 
} 

如果您对PHP的阿贾克斯新是复杂的,你一点点。尽管如此,这是一个很好的指导: https://www.w3schools.com/php/php_ajax_database.asp

下一次,请添加更多信息。