Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修复此MySQL代码_Php_Mysql_Pdo_Mariadb - Fatal编程技术网

Php 如何修复此MySQL代码

Php 如何修复此MySQL代码,php,mysql,pdo,mariadb,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 = 'use

如何修复以下代码

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!";
}
我的代码有两个问题

第一个错误: 回显“登录存在!”时出错。我一直在浏览器中看到这种回音

第二个错误: 当我收到echo“登录存在!”我的代码仍然会将数据插入数据库。

只需:

 if($login)
            // this line doesnt make any sense!
            // $user= var_dump((bool) 'Exists');
            // so this is not a valid if clause
       {
           echo "Login exsists!";
       }`
    $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.';
}

也许
如果($exists){echo“exists”;}
您可以按照@devprow的建议尝试,当我这样做时,我会收到错误消息:“注意:在C:\xampp\htdocs\CDR\register.php的第35行bool(true)Login exists中使用未定义的常量exists-假定'exists'!(不要使用引号。。。只要
如果($exists)
而不是
如果($exists)
什么!{echo“存在”}!!同意原始代码没有意义。但是你不会想要$login左右的引号。请@YourCommonSense-Hmm在读了这篇文章后,我不得不承认我不知道,会根据需要编辑答案,不要再这样做:)这样更好。我还对它做了一些改进,删除了不必要的代码。几乎,只需复制我的答案并填写详细信息:)
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;
                    }
                }