PHP -> Как связать несколько значений в запросе регистрации?
Есть еще несколько подобных вопросов, но я их не правильно понял, а также не знаю, как скопировать и изменить код, чтобы он работал на меня.
Я получил его, чтобы проверить, если пользователь уже существует, но если он делает, пользователь должен быть вставлен, и есть проблема, с которой я сталкиваюсь. Поскольку есть имя пользователя и пароль для вставки, я не знаю, как связать ":feldwert" (показанный ниже) с $username AND $password. Проверка имени пользователя требует только имени пользователя.
Код:
try {
$db = new PDO("mysql:dbname=todo;host=localhost",
"root",
"");
}catch (PDOException $e) {
echo "Fehler: " . htmlspecialchars($e->getMessage());
exit();
}
if (isset($_POST["username"]) && isset($_POST["password"]))
{
$username = $_POST["username"];
$password = $_POST["password"];
$sql = "SELECT username FROM user WHERE username = :feldwert";
$kommando = $db->prepare($sql);
$wert = $username;
$kommando -> bindParam(':feldwert', $wert);
$kommando -> execute();
if($kommando->rowCount() > 0){
echo "exists!";
} else {
echo "non existant";
$sql = "INSERT INTO user VALUES ('$username', '$password');";
$kommando = db->prepare($sql);
$wert = ...
$kommando -> bindParam(':feldwert', $wert);
$kommando -> execute();
}
}
1 ответ
Ты можешь позвонить bindParam
несколько раз, один раз для каждого параметра, который вы хотите связать:
$sql = "INSERT INTO user VALUES (:username, :password);";
$kommando = db->prepare($sql);
$kommando -> bindParam(':username', $username);
$kommando -> bindParam(':password', $password);
$kommando -> execute();