我正在尝试检查 EditText 中的文本是否已存在于数据库中。我是新的 PHP &的的MySQL
我尝试接收所有用户名并检查它是否等于 EditText 文本。起初看起来不错。我用
检查了一下if(!UsernameDB.equals(editUsername.getText().toString()){
Toast.makeText(Register.this, "Not taken", Toast.LENGTH_SHORT).show();
}
问题是,它为每个名字祝酒。所以我不能问是否所有内容都填写正确(电子邮件,密码等),因为它在传递匹配的名称后表示不匹配。
有人知道我如何解决我的问题吗?
答案 0 :(得分:0)
我不确定您是否需要通过Ajax执行此操作,还是可以刷新网站。 以下是刷新的示例: 首先,你需要一个Formular(html):
<?php include("loginFunktion.php"); ?>
<form action="" method="Post">
<input name="name">
<input type="submit" name="test" value="test">
</form>
这是数据库类的基础(新表):
<?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();
?>
现在您已连接到数据库,并且可以执行查询:
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的新手,ajax对你来说有点复杂。尽管如此,这是一个很好的指南: https://www.w3schools.com/php/php_ajax_database.asp
下次请添加更多信息。