2

I am using php to create the user accounts on server database.I have used prepare statement to create user account.I want to know how can i close my sql connection using prepare statement or i don't need to close the connections? Is it done automatically.

Here is my code

public function createUser($name, $email, $password,$file_path,$phone,$address,$profession,$language)
    {


        $response = array();

        // First check if user already existed in db
        if (!$this->isUserExists($email)) {

            // Generating API key
            $api_key = $this->generateApiKey();

            // insert query
            $stmt = $this->conn->prepare("INSERT INTO users(name, email, password, api_key,profile_pic,phone,address,profession,language,date) values(?, ?, ?, ?, ?, ?, ?, ?,?,now())");
            $stmt->bind_param("sssssssss", $name, $email, $password, $api_key,$file_path,$phone,$address,$profession,$language);

            $result = $stmt->execute();

            $stmt->close();

            // Check for successful insertion
            if ($result)
            {
                // User successfully inserted
                return USER_CREATED_SUCCESSFULLY;
            }
            else
            {
                // Failed to create user
                return USER_CREATE_FAILED;
            }
        }
        else
        {
            // User with same email already existed in the db
            return USER_ALREADY_EXISTED;
        }

        return $response;
    }

I am new to php so i don't have any idea about this.

TechChain
  • 8,404
  • 29
  • 103
  • 228
  • 3
    You're already using $stmt->close(), so everything is fine. – Jesper Jul 08 '15 at 05:55
  • Ok.It mean i don't have to write like conn->close(); or mysqli->close(); – TechChain Jul 08 '15 at 05:56
  • Your code makes me wonder where the $this->conn is opened, at a similar place in the lifecycle-end of the object you would have to close the connection – André Schild Jul 08 '15 at 06:17
  • i don't understand what you are saying.Tell me am i doing wrong?If yes then what is the solution. – TechChain Jul 08 '15 at 06:22
  • Duplicate of: http://stackoverflow.com/questions/9083341/when-to-call-mysqliclose - You only have to use $conn->close(); IF you wanna terminate the connection before the script is already done. – Jesper Jul 08 '15 at 06:32

2 Answers2

2

$stmt->close();

is enough .

check this http://www.w3schools.com/php/php_mysql_prepared_statements.asp

Manu Varghese
  • 791
  • 8
  • 25
0
$stmt->close(); // Closes the prepared statement

$this->conn->close(); // Closes the mysql connection
Malik Naik
  • 1,472
  • 14
  • 16