我该如何修复这个MySQL代码

时间:2016-03-10 11:44:33

标签: php mysql pdo mariadb

如何修复以下代码?

function userExists($pdow, $login)
{
$userQuery = "SELECT * FROM login u WHERE login=:user;";
$stmt = $pdow->prepare($userQuery);
$stmt->execute(array(':user' => $login));
return !!$stmt->fetch(PDO::FETCH_ASSOC);
}

$login = 'user';
$exists = userExists($pdow, $login);
if('$login')
$user= var_dump((bool) 'Exists');
{
echo "Login exsists!";
}

我的代码存在两个问题。

第一个错误: 回复'登录exsists时出错!'。我一直在浏览器中看到这个回声。

第二个错误: 当我得到回应'登录exsists!'我的代码仍然将数据插入数据库。

3 个答案:

答案 0 :(得分:1)

简单地:

    $servername = '';
    $dbname = '';
    $username = '';
    $password = '';
    $dbh = new PDO("mysql:host={$servername};dbname={$dbname}", $username, $password);


function user_exists($dbh, $Login) {
    $Q = $dbh->prepare("SELECT * FROM login WHERE login = :Login");
    $Q->bindParam(':Login', $Login);
    $Q->execute();
    return $Q->fetch(PDO::FETCH_ASSOC);
}

//Lets try:
$user = user_exists($dbh, 'email@example.com');
if ($user) {
    echo 'User: ' . $user['login'] . ' was found in the database.';
} else {
    echo 'The user was NOT found.';
}

答案 1 :(得分:0)

 if($login)
            // this line doesnt make any sense!
            // $user= var_dump((bool) 'Exists');
            // so this is not a valid if clause
       {
           echo "Login exsists!";
       }`

答案 2 :(得分:0)

try {
        $pdow = new PDO('mysql:host=localhost;dbname=log_cdr', 'root', 'slawek132');
        $pdow -> query ('SET NAMES utf8');
        $pdow -> query ('SET CHARACTER_SET utf8_unicode_ci');
        $pdow->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sqlw = "INSERT INTO login (login, pass, pass_v, email, email_v)
        VALUES ('".$_POST["login"]."','".$_POST["pass"]."','".$_POST["pass_v"]."','".$_POST["email"]."','".$_POST["email_v"]."')";

                function user_exists($login) {
                    $Q = pdow()->prepare("SELECT * FROM login WHERE login = :Login");
                    $Q->bindParam(':login', $Login);
                    $Q->execute();

                    if ($Q->rowCount() != 0) {
                        //User exist:
                        return $Q->fetch(PDO::FETCH_ASSOC);
                    } else {
                        //User doesn't exist.
                        return false;
                    }
                }