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();
Другие вопросы по тегам