检查该值是否存在于数据库中

Checking if the value exists in database

Fatal error: Call to a member function execute() on a non-object in C:\xampp\htdocs\registration2.php

在此代码中:

<form method="post" action="">
    <label>Email</label><input type="text" name="email"/><br>
    <label>Heslo</label><input type="password" name="password"/><br>
    <label>Heslo znovu</label><input type="password" name="passwordagain"/><br>
    <label>Nickname</label><input type="text" name="nickname"/><br>
    <input type="submit" name="submit"/>
</form> 
if(isset($_POST['nickname'])){
    $nickname= $_POST['nickname'];

    $sql4 = "SELECT nickname FROM registration WHERE nickname = :nickname";
    $sql4->execute(array(":nickname"=>$nickname));
    if($sql4->rowCount() > 0){
        echo "toto jméno již existuje";
    }

}

您正试图在不是对象的字符串上调用方法,因此您的错误。

首先您需要准备 SQL 查询,然后执行它。

我假定您的 PDO 对象被称为 $dbh,将其替换为您自己的对象:

if(isset($_POST['nickname'])){
    $nickname= $_POST['nickname'];

    $sql4 = $dbh->prepare("SELECT nickname FROM registration WHERE nickname = :nickname");
    $sql4->execute(array(":nickname"=>$nickname));
    if($sql4->rowCount() > 0){
        echo "toto jméno již existuje";
    }

}