PDO will obviously become a standard database operation for PHP. Although many of the domestic PHP space or host has supported php5.2 above version, but because of the popularity and technical reasons or some do not support PDO.
Since the beginning of this year, Harbin Zhihua software PHP course in the database operation of the study changed to PDO-based (course in the course of learning and final training or MySQL function operation database), in the actual development, my students inevitably encountered the use of PDO development program, In the implementation of the program but found that the server does not support PDO, fortunately, is the client's server, re-upgrade installed a new version of PHP to solve.
But this raises a question?
or develop a MySQL function,
Either develop the PDO and then upgrade the PHP version,
Either found using PDO development unable to upgrade PHP version, using the MySQL function to rewrite the original PDO mode code
It seems that the development of the use of MySQL function method seems to be the best solution, this does not go back to the starting point, do not have to wait until the PDO has been popularized to use PDO development, if this means that my PHP course will teach students a development method has been phased out, students after learning, In a few years you have to give up the habits of MySQL function development, and then adapt to the new PDO development method.
Is there a compromise that allows students to learn about the new PDO development approach, while at work they can cope with the old MySQL function development? That day the students asked the sudden whim to write a class, the method of the class is the way of PDO, and then the operation of the MySQL function is encapsulated in the method of this class can not be.
The solution is that the development is all using the PDO mode operation, if the need to MySQL function mode as long as the library to replace the file with the MySQL function library code, and then add this class and instantiate the object as PDO of the Operation object can be implemented to change the PDO mode to MySQL function mode
PDO additions and deletions are the same, the code is as follows:
Require "./conndb.php";
Require './deep.class.mysqlfunction4pdo.php ';
$db = new Deep_mysqlfunction4pdo ();
$sql = "INSERT INTO guestbook (guestname,guestdatetime) VALUES (' Lvhaipeng zhihuasoft". Mt_rand (1,100). " ', ' ". Date (' y-m-d h:i:s ')." ') ";
2 Exec method
$count = $db->exec ($sql);
Echo $count;
?>
The query code is as follows:
Require './conndb.php ';
Require './deep.class.mysqlfunction4pdo.php ';
$db = new Deep_mysqlfunction4pdo ();
2 Query queries
$stmt = $db->query ("SELECT * from Guestbook");
1 Records
$row = $stmt->fetch ();
echo $row [' Guestname '], "
";
while ($row = $stmt->fetch ())
{
echo $row [' Guestname '], "
";
}
?>
You'll find me adding 2 lines of code after the library file (and of course working on the two lines in the library file)
Require './deep.class.mysqlfunction4pdo.php ';
$db = new Deep_mysqlfunction4pdo ();
So through the Deep_mysqlfunction4pdo class I realized that without changing the existing PDO code, the implementation of the MySQL function mode of operation
The Deep_mysqlfunction4pdo class file code is as follows:
/*
The operation class of a MySQL function that mimics the PDO way.
Harbin Zhihua Software Training School Lu Haipeng 2011-11-25
Call: Called after MySQL library function
Require './deep.class.mysqlfunction4pdo.php ';
$db = new Deep_mysqlfunction4pdo ();
*/
Imitation PDO class
Class deep_mysqlfunction4pdo{
Insert Delete Modification
Public function exec ($sql) {
@mysql_query ($sql) or Die ("SQL statement execution Error! ");
return Mysql_affected_rows ();
}
Inquire
Public Function Query ($sql) {
$stmt =new deep_mysqlfunction4pdo_stmt ();
$stmt->query= @mysql_query ($sql) or Die ("SQL statement execution Error! ");
return $stmt;
}
}
Imitation Pdostatement class
Class deep_mysqlfunction4pdo_stmt{
var $query;
Public function fetch () {
Return mysql_fetch_array ($this->query);
}
}
?>
A period of time the course is more than a few days of the weekend to organize records as above, and some students have proposed to imitate the PDO class encountered query do not use this while ($row = $stmt->fetch ()) with foreach ($stmt as $row) No, I changed this class to implement, This is the code, it's a little weird. I'm free to sort out the follow-up instructions for this post.
Author Lu Haipeng
http://www.bkjia.com/PHPjc/478490.html www.bkjia.com true http://www.bkjia.com/PHPjc/478490.html techarticle PDO will obviously become a standard database operation for PHP. Although many of the domestic PHP space or host has supported php5.2 more than the version, but because of the popularity and technical reasons are still part ...