| 
<?php
 include_once dirname(__FILE__).'/extendedpdo.cls.php';
 
 ini_set('display_errors', 1);
 ini_set('display_startup_errors', 1);
 error_reporting(E_ALL);
 
 
 
 ?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head><title>Extended PDO Example</title></head>
 <body><h2>Extended PDO Example</h2>
 <?php
 
 
 $db=new ExtendedPDO('localhost', 'root', 'my password', 'my database name');
 #$db->setDebugLevel(1);
 
 echo '<h3>current selected database: '.$db->getCurrentDatabase().'</h3>';
 $db->setCurrentTable('ri_customers');
 echo '<h3>current selected table: '.$db->getCurrentTable().'</h3>';
 
 $data['user_id_of_outlet_owner']='razon';
 $data['user_id_of_customer']='sumon';
 $data['customer_name']='razon khan ['.date('r').']';
 $data['customer_address']='n/a';
 $data['customer_contact1']='sonadanga';
 $data['customer_contact2']='khulna';
 
 $insertedid=$db->sqlCreateUpdate($data);
 if($insertedid){
 $customerdata=$db->read($insertedid);
 #$customerdata=$db->getRecordAssoc($insertedid);
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 $customerdata=$db->getRecordAssocFromSQL('select * from `ri_customers` where `customer_id`='.$insertedid);
 echo '<h3>data using $db->getRecordAssocFromSQL(select statement)</h3>';
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 
 $rs=$db->query('select * from `ri_customers` where `customer_id`='.$insertedid.' limit 1');
 echo '<h3>variable test: '.$rs->razon.'</h3>';
 if($rs && $rs->num_rows>0){
 echo '<h4>Fetch Array</h4>';
 $customerdata=$db->sqlFetchArray($rs);
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 }else echo '<h3 style="color: #f00;">data not found for id - '.$insertedid.'</h3>';
 
 $rs=$db->query('select * from `ri_customers` where `customer_id`='.$insertedid.' limit 1');
 if($rs && $rs->num_rows>0){
 echo '<h4>Fetch Row</h4>';
 $customerdata=$db->sqlFetchRow($rs);
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 }else echo '<h3 style="color: #f00;">data not found for id - '.$insertedid.'</h3>';
 
 $rs=$db->query('select * from `ri_customers` where `customer_id`='.$insertedid.' limit 1');
 if($rs && $rs->num_rows>0){
 echo '<h4>Fetch Assoc</h4>';
 $customerdata=$db->sqlFetchAssoc($rs);
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 }else echo '<h3 style="color: #f00;">data not found for id - '.$insertedid.'</h3>';
 
 $rs=$db->query('select * from `ri_customers` where `customer_id`='.$insertedid.' limit 1');
 if($rs && $rs->num_rows>0){
 echo '<h4>Fetch Object</h4>';
 $customerdata=$db->sqlFetchObject($rs);
 echo '<pre>'.print_r($customerdata, true).'</pre>';
 }else echo '<h3 style="color: #f00;">data not found for id - '.$insertedid.'</h3>';
 
 }else echo '<h2 style="color: #f00;">No data inserted due to error!</h2>';
 
 echo '<h3>total number of rows into '.$db->getCurrentTable().' - '.$db->getNumberOfRows().'</h3>';
 echo '<h3>total number of rows into ri_products - '.$db->getNumberOfRows(NULL, 'ri_products').'</h3>';
 echo '<h3>like operator sql test: '.ExtendedMySQLi::getSqlForLikeOperator('customer_name', 'razon,sumon, karim', 'or').'</h3>';
 echo '<h3>today is - '.ExtendedMySQLi::getMysqlFormatedDateTime().', date part of today is - '.ExtendedMySQLi::getMysqlFormatedDate().', time part of today is - '.ExtendedMySQLi::getMysqlFormatedTime().'</h3>';
 echo '<h3>is it valid date time format? '.(ExtendedMySQLi::isValidDateTime('2001-05-08 15:15:18')?'yes':'no').'</h3>';
 echo '<h3>is it valid date format? '.(ExtendedMySQLi::isValidDateTime('2001-05-08', true, false)?'yes':'no').'</h3>';
 echo '<h3>is it valid time format? '.(ExtendedMySQLi::isValidDateTime('25:15:18', false, true)?'yes':'no').'</h3>';
 
 # encryption & decryption
 function testEncryptDecrypt($piDb, $str2encrypt, $encryptsalt){
 $encrypted=$piDb->aesEncrypt($str2encrypt, $encryptsalt);
 $decrypted=$piDb->aesDecrypt($encrypted, $encryptsalt);
 echo '<h3>Data to encrypt: '.$str2encrypt.', Salt for encryption: '.(isset($encryptsalt)?$encryptsalt:'NULL').', Encrypted: '.$encrypted.', Decrypted: '.$decrypted.', Encryption Status: '.($decrypted==$str2encrypt?'OK':'Not OK').'</h3>';
 }
 testEncryptDecrypt($db, '654321', 'razon');
 testEncryptDecrypt($db, '6543210', 'razon');
 testEncryptDecrypt($db, '654321', 'razon'.time());
 testEncryptDecrypt($db, 'sumOn321', 'my secret key');
 
 # reading from database
 echo '<h3>Available Customers using $db->getAllRows(...)</h3><pre>'.print_r($db->getAllRows('select customer_id, user_id_of_outlet_owner, customer_name from ri_customers'), true).'</pre>';
 echo '<h3>Available Customers using $db->getRows(..., ...)</h3><pre>'.print_r($db->getRows('customer_id', 'select customer_id, user_id_of_outlet_owner, customer_name from ri_customers'), true).'</pre>';
 echo '<h3>Available Customers using $db->getArrWithIdAsKey(...)</h3><pre>'.print_r($db->getArrWithIdAsKey('select customer_id, customer_name from ri_customers'), true).'</pre>';
 
 ?>
 </body>
 </html>
 |