I am a training developer, I faced an error on bind_param() function in my code.
Here is my create_account.php code
<?php
if(!isset($_POST['username'])||!isset($_POST['email'])||!isset($_POST['password'])){
die("Data Error");
}
if(strlen($_POST['username'])>150){
die("Username too Long");
}
if(!strpos($_POST['email'],"@")){
die("Invalid Email Address");
}
include_once "config.php";
// congig.php is as follows
//define("SERVER_NAME","localhost");
//define("USERNAME","root");
//define("PASSWORD","");
//define("DATABASE","mydatabase");
$conn = new mysqli(SERVER_NAME,USERNAME,PASSWORD,DATABASE);
if($conn->connect_error){
die("Connection Error!".$conn->connect_error);
}
$username = $_POST['username'];
// Code Works till here
$stmt = $conn->prepare("SELECT count(*) FROM 'users' WHERE 'username' = ?");
$stmt->bind_param("s",$username);
$stmt->execute();
$stmt->bind_result($count);
$stmt->fetch();
if($count>0){
die("Username Already Exist");
}
$stmt->close();
$email = $_POST['email'];
$password = password_hash($_POST['password'],PASSWORD_BCRYPT);
$stmt2 = $conn->prepare("INSERT INTO 'users' ('username','email','password') VALUES (?,?,?)");
if (!$stmt) {
echo "false";
}
else {
$stmt2->bind_param("sss",$username,$email,$password);
$stmt2->execute();
}
$conn->close();
header("Location ../signup_success.php");
Database is as follows
id (auto incrementing)
username (150 char)
email (200 char)
password (150 char)
I'm getting error on both bind_paran() function saying
Fatal error: Call to a member function bind_param() on boolean .....
Please help