Login   Register  
PHP Classes
elePHPant
Icontem

File: examples.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Andrei Caminschi  >  MySQLQueryGenerator  >  examples.php  >  Download  
File: examples.php
Role: Example script
Content type: text/plain
Description: Examples ...
Class: MySQLQueryGenerator
Compose common MySQL queries from parameters
Author: By
Last change:
Date: 2009-10-18 05:11
Size: 4,674 bytes
 

Contents

Class file image Download
<?php

function pr($a)
{
    echo 
'<pre>';
    echo 
$a;
    echo 
'</pre>';
}

pr('Please check the source code for each query. Here are displayed only the results.');
pr('Please email me on <b>zzerachiel@gmail.com</b> for any bugs or new features.');
pr('Thank you.');
include 
'string.php';
include 
'mysqlSelectQuery.php';
include 
'mysqlDeleteQuery.php';
include 
'mysqlUpdateQuery.php';
include 
'mysqlInsertQuery.php';

pr('<b>INSERT Examples</b> <hr />');

pr('<b>1</b>) Simple insert example');

$insertQuery = new mysqlInsertQuery('users');
$insertQuery->set('username','someusername',true);
$insertQuery->set('password',md5('password'),true);
$insertQuery->set('createdOn','UNIX_TIMESTAMP()');
pr($insertQuery);

pr('<b>2</b>) Priority DELAYED');
$insertQuery = new mysqlInsertQuery('users');
$insertQuery->set('username','someusername',true);
$insertQuery->set('password',md5('password'),true);
$insertQuery->set('createdOn','UNIX_TIMESTAMP()');
$insertQuery->setPriority(Q_INSERT_PRIORTY_DELAYED);
pr($insertQuery);

pr('<b>3</b>) Priority LOW');
$insertQuery = new mysqlInsertQuery('users');
$insertQuery->set('username','someusername',true);
$insertQuery->set('password',md5('password'),true);
$insertQuery->set('createdOn','UNIX_TIMESTAMP()');
$insertQuery->setPriority(Q_INSERT_PRIORTY_LOW);
pr($insertQuery);

pr('<b>4</b>) Priority HIGH');
$insertQuery = new mysqlInsertQuery('users');
$insertQuery->set('username','someusername',true);
$insertQuery->set('password',md5('password'),true);
$insertQuery->set('createdOn','UNIX_TIMESTAMP()');
$insertQuery->setPriority(Q_INSERT_PRIORTY_HIGH);
pr($insertQuery);

pr('<b>5</b>) On Duplicate');
$insertQuery = new mysqlInsertQuery('users');
$insertQuery->set('username','someusername',true);
$insertQuery->set('password',md5('password'),true);
$insertQuery->set('createdOn','UNIX_TIMESTAMP()');
$insertQuery->onDuplicate('username','someusername1',true);
pr($insertQuery);

pr('<b>6</b>) :P Usefull');
/**
 * For demo purposes let's say we have this situation
 * */
$tableFieldsTypes = array( // 1 - trng, 0 - numeric
    
'username' =>1,
    
'password' =>1,
    
'createdOn' =>0
);
$dataToBeInserted = array(
    
'username' => 'zzerachiel',
    
'password' => md5('pass'),
    
'createdOn'=> 'UNIX_TIMETAMP'
);

$insertQuery = new mysqlInsertQuery('users');
foreach ( 
$dataToBeInserted as $col=>$value)
    
$insertQuery->set($col,$value,$tableFieldsTypes[$col]);
pr($insertQuery);


pr('<br />');
pr('<b>UPDATE Examples</b> <hr />');

pr("<b>1</b>) Basic example");
$updateQuery = new mysqlUpdateQuery('users');
$updateQuery->set('username','zzerachiel',true);
$updateQuery->where(array('id'=>1));
pr($updateQuery);

pr("<b>2</b>) A more complex exampe, using logical operators in where clause");
$updateQuery = new mysqlUpdateQuery('users');
$updateQuery->set('username','zzerachiel',true);
$whereConditions = array(
    
'id'=>1,
    
'and',
    
'createdOn < UNIX_TIMESTAMP()'
);
$updateQuery->where($whereConditions);
pr($updateQuery);

pr("<b>3</b>) Where, Order By &amp; Limit");
$updateQuery = new mysqlUpdateQuery('users');
$updateQuery->set('username','zzerachiel',true);
$whereConditions = array(
    
'id'=>1,
    
'and',
    
'createdOn < UNIX_TIMESTAMP()'
);
$updateQuery->where($whereConditions);
$updateQuery->orderBy('username');
$updateQuery->orderBy('id','DESC');
$updateQuery->limit(10);
pr($updateQuery);


pr('<br />');
pr('<b>DELETE Examples</b> <hr />');

pr("<b>1</b>) Basic example");
$deleteQuery = new mysqlDeleteQuery('users');
$whereConditions = array(
    
'id' => 1,
    
'and',
    
'createdOn > UNIX_TIMESTAMP()'
);
$deleteQuery->where($whereConditions);
pr($deleteQuery);

pr("<b>2</b>) Delete the first 10 records based on id field ");
$deleteQuery = new mysqlDeleteQuery('users');
$deleteQuery->orderBy('id','ASC');
$deleteQuery->limit(10);
pr($deleteQuery);

pr('<br />');
pr('<b>SELECT Examples</b> <hr />');

pr("<b>1</b>) Basic example");
$selectQuery = new mysqlSelectQuery;
$selectQuery->from('users');
$selectQuery->orderBy('id');
$selectQuery->select_expr('id','username');
pr($selectQuery);

pr("<b>2</b>) Multiple tables using aliases");
$selectQuery = new mysqlSelectQuery;
$selectQuery->from('users','u');
$selectQuery->from('preferences','p');
$selectQuery->select_expr('u.username','p.language');
pr($selectQuery);

pr("<b>3</b>) WHERE, GROUP and LIMIT");
$selectQuery = new mysqlSelectQuery;
$selectQuery->from('users');
$selectQuery->select_expr('*');
$selectQuery->where(array('id > 1'));
$selectQuery->groupBy('createdOn');
$selectQuery->limit(0,20);
pr($selectQuery);

?>