note 102741 added to mysqli-stmt.bind-param

From: Date: Thu, 03 Mar 2011 04:16:31 +0000
Subject: note 102741 added to mysqli-stmt.bind-param
Groups: php.notes 
Request: Send a blank email to php-notes+get-177519@lists.php.net to get a copy of this message
I borrowed the code from canche_x at yahoo dot com and modified a bit to create an abstract class to be inherited, to handle easily the use of prepared statements, and even to auto alias it to a string name. I hope someone gets this usefull as I did many times :) Example of usage: <?php require_once 'MySQLDatabase.php'; class MyDatabase extends MySQLDatabase { private function PrepareAllStatements() { $this->PrepareSTMT("test1", "SELECT COUNT(id) AS countid FROM users"); $this->PrepareSTMT("test2", "UPDATE users SET pass_hash=? WHERE id=?"); // ... } public function __construct() { parent::__construct(); $this->Connect("localhost", "foo", "bar", "mywebdb"); $this->PrepareAllStatements(); } public function __destruct() { parent::__destruct(); } public function GetTotalUsers() { $result=0; $tmp=$this->ExecuteQuery("test1"); if (isset($tmp[0]['countid']) { $result=$tmp[0]['countid']; } return $result; } public function UpdatePass($userid, $hash) { $affected_rows=$this->ExecuteQuery("test2", $userid, $hash); return ($affected_rows==1); } //... }; //To use it is simple! Example of usage: $db=new MyDatabase(); echo "I have ".$db->GetTotalUsers()." users now.<br />"; if ($db->UpdatePass(1, "somehash")) { echo "Password succesfully updated for user #1"; } else { echo "Update failed!<br />"; } ?> The code itself is a bit large, but it is published in my blog: http://www.stormbyte.blogspot.com as well as in pastebin: http://pastebin.com/ccZqgT5M ---- Server IP: 69.147.83.197 Probable Submitter: 80.239.242.159 (proxied: 84.120.230.154) ---- Manual Page -- http://www.php.net/manual/en/mysqli-stmt.bind-param.php Edit -- https://master.php.net/note/edit/102741 Del: integrated -- https://master.php.net/note/delete/102741/integrated Del: useless -- https://master.php.net/note/delete/102741/useless Del: bad code -- https://master.php.net/note/delete/102741/bad+code Del: spam -- https://master.php.net/note/delete/102741/spam Del: non-english -- https://master.php.net/note/delete/102741/non-english Del: in docs -- https://master.php.net/note/delete/102741/in+docs Del: other reasons-- https://master.php.net/note/delete/102741 Reject -- https://master.php.net/note/reject/102741 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#177519) next »