PHP -> Как связать несколько значений в запросе регистрации? - PullRequest
0 голосов
/ 21 февраля 2019

Есть еще несколько подобных вопросов, но я их не правильно понял, а также не знаю, как скопировать и изменить код, чтобы он работал на меня.

Я получил его, чтобы проверить,если пользователь уже существует, но если он есть, он должен быть вставлен, и я столкнулся с проблемой.Поскольку есть имя пользователя и пароль для вставки, я не знаю, как связать ": 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 Ответ

0 голосов
/ 21 февраля 2019

Вы можете вызывать bindParam несколько раз, один раз для каждого параметра, который вы хотите связать:

$sql = "INSERT INTO user VALUES (:username, :password);";
$kommando = db->prepare($sql);
$kommando -> bindParam(':username', $username);
$kommando -> bindParam(':password', $password);
$kommando -> execute();
...