<?php

if (isset($_GET['src'])) die(highlight_file(__FILE__true));

require(
'config.php');

$timer false;

function 
resetTimer() {
    global 
$timer;
    
$timer = (float)microtime(true);
}

function 
getTimer() {
    global 
$timer;
    return 
' in ' number_format(microtime(true) - $timer5);
}

header('Content-Type: text/plain; charset=utf-8');

$sqlstr 'SELECT SQL_NO_CACHE * FROM wp_posts ORDER BY ID DESC LIMIT 10';

require(
'DB.php');
require(
'MDB2.php');
require(
'Zend/Db/Adapter/Pdo/Mysql.php');
require(
'Zend/Db/Adapter/Mysqli.php');
require(
'adodb.inc.php');

echo 
str_pad("DB_mysql"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$DB DB::Connect("mysql://$user:$pass@$host/$base");
    
$DB->setFetchMode(DB_FETCHMODE_OBJECT);
    
$res $DB->query($sqlstr);
    while (
$row $res->fetchRow());
    
$DB->disconnect();
}
echo 
getTimer() . "s\n";

echo 
str_pad("DB_mysqli"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$DB DB::Connect("mysqli://$user:$pass@$host/$base");
    
$DB->setFetchMode(DB_FETCHMODE_OBJECT);
    
$res $DB->query($sqlstr);
    while (
$row $res->fetchRow());
    
$DB->disconnect();
}
echo 
getTimer() . "s\n";

echo 
str_pad("MDB2"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$mdb2 MDB2::connect("mysql://$user:$pass@$host/$base");
    
$mdb2->setFetchMode(MDB2_FETCHMODE_OBJECT);
    
$res $mdb2->query($sqlstr);
    while (
$row $res->fetchRow());
    
$mdb2->disconnect();
}
echo 
getTimer() . "s\n";

echo 
str_pad("PDO_mysql"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$PDO = new PDO("mysql:host=$host;dbname=$base"$user$pass);
    
$res $PDO->query($sqlstr);
    
$res->setFetchMode(PDO::FETCH_OBJ);
    while (
$row $res->fetch());
    
$PDO null;
}
echo 
getTimer() . "s\n";

echo 
str_pad("ADOdb"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$db ADONewConnection("mysqli://$user:$pass@$host/$base");
    
    
$res $db->execute($sqlstr);
    
$db->SetFetchMode(ADODB_FETCH_ASSOC); 
    while (!
$res->EOF) {$row $res->MoveNext();}
    
$db->close();
}
echo 
getTimer() . "s\n";

echo 
str_pad("mysql_*"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$dbh mysql_connect($host$user$pass); mysql_select_db($base$dbh);
    
$res mysql_query($sqlstr);
    while (
$row mysql_fetch_object($res)) {}
    
mysql_close($dbh);
}
echo 
getTimer() . "s\n";

echo 
str_pad("mysqli_*"30' 'STR_PAD_LEFT); resetTimer();
for (
$i 0$i $loops$i++) {
    
$dbh mysqli_connect($host$user$pass$base);
    
$res mysqli_query($dbh$sqlstr);
    while (
$row mysqli_fetch_object($res));
    
mysqli_close($dbh);
}
echo 
getTimer() . "s\n";



/*
echo str_pad("Zend_DB_Adapter_Pdo_Mysql", 30, ' ', STR_PAD_LEFT); resetTimer();
for ($i = 0; $i < $loops; $i++) {

    $db = new Zend_Db_Adapter_Pdo_Mysql(Array(
        'host'     => $host,
        'username' => $user,
        'password' => $pass,
        'dbname'   => $base,
    ));
    $db->setFetchMode(Zend_Db::FETCH_OBJ);
    $res = $db->query($sqlstr);
    while ($row = $res->fetch());
    $db->closeConnection();
}
echo getTimer() . "s\n";


echo str_pad("Zend_DB_Adapter_Mysqli", 30, ' ', STR_PAD_LEFT); resetTimer();
for ($i = 0; $i < $loops; $i++) {

    $db = new Zend_Db_Adapter_Mysqli(Array(
        'host'     => $host,
        'username' => $user,
        'password' => $pass,
        'dbname'   => $base,
    ));
    $db->setFetchMode(Zend_Db::FETCH_OBJ);
    $res = $db->query($sqlstr);
    while ($row = $res->fetch());
    $db->closeConnection();
}
echo getTimer() . "s\n";
*/




?>