PHP Classes
Icontem

File: simplesql.examples.php5


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Paul Williamson  >  Simple SQL PHP 5  >  simplesql.examples.php5  
File: simplesql.examples.php5
Role: Example script
Content type: text/plain
Description: Examples
Class: Simple SQL PHP 5
PHP 5 version of a MySQL wrapper and query logger
 

Contents

Class file image Download
<pre><?php

/**
 * This test file for simplesql.class.php exemplifies
 * how easy it is to manipluate a database. This test
 * will list various methods of how to use functions
 * and methods. 
 *
 * For more examples and extended documentation, visit
 * my directory at PHPclasses.org 
 * http://phpclasses.mirrors.iplexx.at/browse/author/166377.html
 * or email me at webmaster@protonage.net
 */
 
require_once('simplesql.class.php5');

/**
 * Construction
 *
 * If your database connection variables are already
 * hard coded into the class file, then you may just simply
 * create a new class without any arguments. But for this
 * example I will include the basic connection arguments
 * to get you started on how the class functions.
 */
$db = new simplesql('mysql06.powweb.com','protonagenet','194911986','protonagenet');

/**
 * Setup
 *
 * This is a query to setup a table that this
 * file will use.
 *
 * If for some reason the query throws an exception
 * then this try catch will handel it.
 */
try {
    
$query "CREATE TABLE `simplesql_cars` (
        `modelid` int(10) NOT NULL auto_increment,
        `modelname` varchar(255) NOT NULL default '',
        `active` tinyint(1) NOT NULL default '0',
        `location` varchar(255) NOT NULL default '',
        `content` varchar(255) NOT NULL default '',
        PRIMARY KEY  (`modelid`)
    ) TYPE=MyISAM AUTO_INCREMENT=0 ;"
;
    
$db->query(trim($query));
    
$db->insert(
        
'modelname, active, location, content',
        
"'Thunderbird 4100', 0, 'Williamsburg, VA', 'http://www.google.com/'"'simplesql_cars'
    
);
    
$db->insert(
        
'modelname, active, location, content',
        
"'Dodge Viper', 1, 'Denver, CO', 'http://www.protonage.net'"
    
);
    
$db->insert(
        
'modelname, active, location, content',
        
"'Range Rover', 1, 'Reston, VA', 'http://www.google.com/'"
    
);
    
$db->insert(
        
'modelname, active, location, content',
        
"'Ford F150', 1, 'NewYork, NY', 'http://www.google.com/'"
    
);
    
$db->insert(
        
'modelname, active, location, content',
        
"'Toyota Corral', 0, 'Richmond, VA', 'http://www.google.com/'"
    
);
    
$db->insert(
        
'modelname, active, location, content',
        
"'BMW Z3', 1, 'Pitsburge, PA', 'http://www.dictionary.com/'"
    
);
    
catch (Exception $e) {
    
trigger_error($e->getmessage(), E_USER_ERROR);
    exit;
}
echo 
'Search Example: 
'
;
/**
 * Search
 *
 * This example searches the field location and returns
 * every row that contains the keyword.
 *
 * First argument is the keyword to be found
 * Second argument is the field that will be searched
 * Third argument is the table that will be used
 * +  Note, this argument is optional in ALL methods and functions
 * +  because everytime it is called in a function, the table name
 * +  is stored in a variable inside the class. Later on in this test
 * +  file you will see that I will no longer use the table argument 
 * Fourth argument defines how you want the output to be formed, in 
 * +  this case, I wanted the result to be an object array.
 */ 
print_r($db->fetch_search('VA''location''simplesql_cars'FETCH_OBJECT));

echo 
'Fetch Column Example: 
'
;
/**
 * Fetch Column
 *
 * This example grabs columns of data out of the database
 * 
 * First argument is a list of fields and one field (active)
 * +  which i gave a value of 1. This means the result will only
 * +  pick up the listed fields and where active = 1. Easy? Indeed!
 * Second argument is the table but I omitted it because I already
 * +  defined the table I want to keep querying in the last function.
 * Third argument (always optional and is saved in the class) is the
 * +  fetch type. This time I fetched the results as an assoiciate array.
 */
print_r($db->fetch_col('modelname, location, active = 1'nullFETCH_ASSOC));

echo 
'Last Query Example: 
'
;
/**
 * Last Query
 *
 * This function will return the last query executed.
 *
 * Wanna see how that last function went threw?
 */
print_r($db->get_lastquery());

echo 
'

Fetch Row Example: 
'
;
/**
 * Fetch Row
 *
 * This example will fetch a row from a database
 *
 * First argument simply supply the field and it's value
 * +  Note: if the value is a string simply encapsulate it with
 * +  some type of quote ['`"] 
 */
print_r($db->fetch_row('modelid = 3'));

echo 
'Fetch Example: 
'
;
/**
 * Fetch
 *
 * This example will return the result of a query
 *
 * First argument is the query you want to send
 * Second argument is how you want the result to be returned
 */
print_r($db->fetch_query('SELECT * FROM `simplesql_cars` WHERE modelid < 6 AND modelid > 2'FETCH_NUM));

echo 
'Get Result Example: 
'
;
/**
 * Get Result
 * 
 * Want to grab the result from the last SELECT query?
 * Need the number of rows from last query?
 */
print_r($db->get_result());
echo 
'
get_rows Example: 
'
;
var_dump($db->get_rows());

echo 
'Fetch Column Example: 
'
;
/**
 * Fetch Column
 *
 * This example shows how to use the extra optional parameters in the function
 * 
 * First argument, again are the fields. This time I wanted to 
 * +  fetch where content = "http://www.google.com/"
 * Second argument Table to use (omitted) because it was cached
 * Third argument, How I want the result returned. This time I want an associate array.
 * Fourth argument, Order by clause, I ordered by modelid field DESCENDING results
 * Fith argument, Limit clause, limit 1, 2 will only return the second and third result
 * +  from the query.
 */
print_r($db->fetch_col('modelname, content, location, content = "http://www.google.com/"'nullFETCH_ASSOC'modelid DESC''1, 2'));

/**
 * Insert
 *
 * This example shows you how to insert data in a table
 * These arguments CAN be an array of data! they just have to
 * match in length.
 *
 * First argument is the list of fields I want to insert data into
 * Second argument is the values given to thoes fields
 */
$db->insert('modelname, location, content''"Mazda RX8", "Googleville, DC", "http://www.dotgeek.org"');

echo 
'Show last query Example: 
'
;
// Show last query
echo $db->get_lastquery();

/**
 * Clone of above example except this uses arrays
 */
$fields = array('modelname''location''content');
$values = array("Mazda RX8""Googleville, DC""http://www.dotgeek.org");
$db->insert($fields$values);

/**
 * Update
 *
 * This example will update content in a database
 * Updates the 5th id and turns active to 1
 * Note this function also accepts arrays for arguments
 *
 * First argument is the field that will change
 * Second argument is it's new value
 * Thrid is the where clause, if any.
 */
$db->update('active''1''modelid = 5');

/**
 * Delete
 * 
 * Delete a row or truncate a table
 * This is a dangerouse function so I added in 
 * a paramater called $pass, What this function does is
 * if the where fields argument is empty and $pass is omitted
 * then the function will halt and return a Warning.
 * if the $pass boolean is set to true, then this warning
 * will be omitted and the query will be executed.
 * This ONLY happens when the table is about to be truncated
 *
 * First argument is the values of the rows you want to delete
 * Other arguments like $pass (explained above) and limit can be used
 * Limit is useful if you want to delete only x number of rows.
 */
$db->delete("location = 'Richmond, VA'"); 

/**
 * Misc Functions
 *
 * get_log will return the log array or if you supply it a key
 * +  from the array, it will return that key as an array only
 */
// Will return the mysql log array
// print_r($db->get_log('mysql'));
// Will return the entire log array
// print_r($db->get_log());

/**
 * field_exists will return true if a field exists in a table
 * +  and false if not, This function is used by many other functions
 * +  within the class, but it has public access
 */
echo 'field_exists(\'active\') Example: 
'
;
var_dump($db->field_exists('active'));
echo 
'field_exists(\'i_dont_exists\') Example: 
'
;
var_dump($db->field_exists('i_dont_exists'));

/**
 * get_error() will return the last error if argument 
 * +  is false or not given otherwise if true, it returns array
 */
 
/**
 * selectdb($dbname) if you need to switch DB, simply call
 * +  this function with the name of the DB in the argument
 */
 
/**
 * Setting Parameters
 *
 * You can set common booleans (usually for debugging) real time
 * list of them are: 
 * +      'tracklog' (build track log array)
 * +      'showlog' (show log at destruction of class)
 * +      'logtofile' (log track log to file)
 * +      'logfulltofile' (log full log array to raw serialize file)
 *
 * Note: You are not accessing these variables directly
 * What happens is these variables are stored inside a protected
 * array named common, when you get/set these variables, PHP5
 * sees that they do not exists and then sends them to __set/__get
 * functions, it is there where they are picked up and shoved
 * back or from the array.
 */   
// This will print the entire log array to the screen when the class destructs itself
// It's default value is false, but this an example of how to change these common booleans
// and an example of what when on in this test/example file.
$db->showlog true;

/**
 * That's not all of what this class file has to offer
 * Play around with it and you really see the power you can
 * get from out of this class.
 *
 * The debugging is especially amazing, You can grab query intensity 
 * levels from the mysql log array, the class also logs every single move
 * it makes to a serialized entry to a raw log file!
 *
 * Soon I will add a mysqli layer for this class, note the one final class
 * and also I will make a debug layer complete with pie graphs and
 * optimization solutions!
 */

?></pre>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products