Monday, 9 September 2013

What is the equivalent of bind_result on PDO

What is the equivalent of bind_result on PDO

I'm converting to PDO and Im using prepared statements, I want to bind my
result as so $stmt->bind_result($email_count); so i am able to put this
into an if statement to see if the e-mail exists however I am getting the
error Fatal error: Call to undefined method PDOStatement::bind_result() in
/Applications/XAMPP/xamppfiles/htdocs/imanage/insert.php on line 51 which
relates to the previous example.
I'm guessing bind_result is not a PDO defined method, so is there an
equivalent I could use?
My code is below in case 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!';
}
}
?>

No comments:

Post a Comment