PHP Classes

File: examples.php

Recommend this page to a friend!
  Classes of Otar Chekurishvili   SmartMySQL   examples.php   Download  
File: examples.php
Role: Example script
Content type: text/plain
Description: General examples
Class: SmartMySQL
MySQL database access wrapper
Author: By
Last change: Update to 1.3 version
Date: 15 years ago
Size: 3,343 bytes
 

Contents

Class file image Download
<?php

// Turn off PHP errors and warnings (optional).
// Important for correct retrieving of database access errors.
error_reporting(0);


// Include class file
require_once 'class.mysql.php';


// Create an object
$db = new SmartMySQL();


// connect($server, $username, $password, $database, $persistent = null);
// Note that if you will set $persistent to true closing database won't be required.
$db->connect('localhost', 'root', 'password', 'sampledatabase', true);


// Cache results (Speed it up!)
// Note that chaching works on SELECT like queries excluding ecexute(); method

// Enable cache
$db->cache = true;

// Indicate writable directory for storing files
$db->cachedir = 'cache/';

// Set expiration time in seconds
$db->expire = 300; // 5 Minutes
// Or in a smart way
$db->expire = '5m'; // 5 Minutes again
//Note that you can use m for minutes, h - hours, d - days!


// execute($query);
$sql = "UPDATE `users` SET `name` = 'John' WHERE `id` = 2;";
$db->execute($sql);


// retrieve($column, $table, $field, $value);
// Query: SELECT `$column` FROM `$table` WHERE `$field` = $value;
// Note that if $value is a number or numeric string, method will automatically remove quotes in where cause.
echo $db->retrieve('last_name','list1','id',1);
echo
'<br /><br />';


// fetch($query);
$sql = "SELECT * FROM `users` WHERE `id` = 3;";
$res = $db->fetch($sql);
echo
$res['name'] . ' - ' . $res['age'];
echo
'<br /><br />';


// fetchAll($query);
$sql = "SELECT * FROM `users`;";
$res = $db->fetchAll($sql);

foreach (
$res as $r) {
   
$str = $r['name'] . ' - ' . $r['age'];
    echo
$str . '<br />';
}

echo
'<br /><br />'; // or

$num = count($res);
for (
$i=0; $i<$num; $i++) {
   
$str = $res[$i]['name'] . ' - ' . $res[$i]['age'];
    echo
$str . '<br />';
}


// fetchMode($type);
// Default fetch mode is set to 'assoc'
$db->fetchMode('num');
$sql = "SELECT * FROM `users`;";
$res = $db->fetch($sql);

// or

$db->fetchMode('both');
$sql = "SELECT * FROM `users`;";
$res = $db->fetchAll($sql);


// queryInsert($table, $data = array())
// Note: method automatically validates injected strings with escape() method
$data = array(
   
'first_name' => 'John',
   
'last_name' => 'Doe',
   
'age' => 21
);
$sql = $db->queryInsert('contacts', $data);
echo
$sql;

// or

$data['first_name'] = 'John';
$data['last_name'] = 'Doe';
$data['age'] = 21;
$sql = $db->queryInsert('contacts', $data);
echo
$sql;

// queryUpdate($table, $data = array(), $other = null)
// You can extend query by adding custom MySQL syntax as $other argument
// Note: method automatically validates injected strings with escape() method
$data = array(
   
'first_name' => 'John',
   
'last_name' => 'Doe',
   
'age' => 21
);
$sql = $db->queryUpdate('contacts', $data, 'WHERE `id` = 4 LIMIT 1');
echo
$sql;


// escape($string);
// Important! Escaping strings is a must-do before using them in queries. It may be the cause of SQL injections.
$content = $db->escape($_POST['content']);
$sql = "INSERT INTO `users` (`biography`) VALUES($content) WHERE `id` = 2;";


// viewData($data);
$sql = "SELECT * FROM `users`;";
$res = $db->fetchAll($sql);
$db->viewData($res);


// close();
// Not required if you use persistent database connection.
$db->close();

?>