I convert to PDO and Im using prepared statements, I want to bind my result as $stmt->bind_result($email_count);
so I can put this in an if statement to find out if the email exists, but I get the Fatal error: Call to undefined method PDOStatement::bind_result() in /Applications/XAMPP/xamppfiles/htdocs/imanage/insert.php on line 51
, related to the previous example.
I assume bind_result is not a specific PDO method, so is there an equivalent that I could use?
My code is below if it helps:
insert.php
<?php include("connect/class.Database.php"); class Users extends Database { public function insert() { $stmt = $this->pdo->prepare("SELECT COUNT(*) FROM users WHERE email=:email"); $stmt->bindParam(":email", $_POST['email']); $stmt->bind_result($email_count); $stmt->execute(); $stmt->fetch(PDO::FETCH_ASSOC); if ($email_count > 0) { echo "email exisits! click here to try <a href='register'>again</a>"; } else { //escape the POST data for added protection $username = isset($_POST['username']) ? $_POST['username'] : null; $cryptedPassword = crypt($_POST['password']); $password = $cryptedPassword; $name = isset($_POST['name']) ? $_POST['name'] : null; $email = isset($_POST['email']) ? $_POST['email'] : null; $data = array($username, $password, $name, $email); $stmta = $this->pdo->prepare("INSERT INTO users (username, password, name, email) VALUES (?, ?, ?, ?)"); $stmta->execute($data); printf("%d Row inserted.\n", $stmta->row_count); /* close statement and connection */ $stmta->close(); } // end email_count and insert to table } // end function } ?>
connect / class.Database.php
<?php // Database connection PDO class Database { public function __construct() { // Connection information $host = 'localhost'; $dbname = 'imanage'; $user = 'root'; $pass = ''; // Attempt DB connection try { $this->pdo = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Successfully connected to the database!'; } catch(PDOException $e) { echo $e->getMessage(); } } public function __destruct() { // Disconnect from DB $this->pdo = null; echo 'Successfully disconnected from the database!'; } } ?>
source share