[英]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 致命错误:在C:\\ xampp \\ htdocs \\ registration2.php中的非对象上调用成员函数execute()
in this code: 在此代码中:
<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";
}
}
You are attempting to call a method on a string, which isn't an object, hence your error. 您试图在不是对象的字符串上调用方法,因此会出现错误。
First you need to prepare your SQL query, then execute it. 首先,您需要准备SQL查询,然后执行它。
I've assumed your PDO object to be called $dbh
, replace it with your own: 我假设您的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";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.