PClib demo site

<?php
/* project: Database layer, file: db.php */

//Include pclib framework
require 'pclib/pclib.php';

print 
"<h2>Using pclib database layer</h2>";
print 
"(Look at the source code for short tutorial)";

$datasource 'mysql://root@localhost/test';

// -- Instantiate class db
$db = new PCDb($datasource);

print 
"<h4>TEST-1 db->query()/db->fetch()</h4>";

// Executing queries and fetching results....
$res    $db->query('select * from PEOPLE');
$array  $db->fetch($res);
$object $db->fetch($res'o');
$rows   $db->fetchAll($res);

//Export result rows to html table...
print "HTML table generated by db->export() function:";
print 
$db->export($rows);


print 
"<h4>TEST-2 db->select*()</h4>";

//Instead of plain query, it is possible use "shortcut" functions
$array $db->select('PEOPLE'); //SELECT * FROM PEOPLE LIMIT 1
print $db->export($arr);

$allrows $db->selectAll('PEOPLE'); //SELECT * FROM PEOPLE
print $db->export($allrows);

//Each of db->select_* functions can take the same parameters

//return array('Bill', 'Jack', 'John' ...)
$arr $db->selectOne('PEOPLE:NAME'); //SELECT NAME FROM PEOPLE

//return array with ID => NAME pairs (10 => 'Bill', 12 => 'Jack', 14 => 'John' ...)
$arr $db->selectPair('PEOPLE:ID,NAME');

//Counting rows: this command return number of rows in last query result
print "Number of rows in last query: ";
print 
$db->count();

//In any select_* function you can add WHERE condition

$arr $db->select('PEOPLE''ID=1'); //SELECT * FROM PEOPLE WHERE ID=1

//You can use "shortcut" functions for INSERT,UPDATE,DELETE queries too.

//We don't want do real changes in table, so we disable query executing for now
$db->disabled true;

$person = array (
 
'NAME' => 'Bill',
 
'SURNAME' => 'Gates',
 
'MONEY' => 1000000000
);

//return last_inserted_id
$person_id $db->insert('PEOPLE'$person); //INSERT INTO PEOPLE (NAME,SURNAME,MONEY) VALUES ('Bill','Gates','1000000000')

$db->update('PEOPLE'$person'ID=1'); //UPDATE PEOPLE set NAME='Bill',SURNAME='Gates',MONEY='1000000000' WHERE ID=1
$db->delete('PEOPLE''ID=1'); //DELETE FROM PEOPLE WHERE ID=1

// -- Query parameters

//You can put parameters into queries
// (See "Examples of using database functions parameters"
// and "Dynamic SQL" page in reference manual - section "Related pages")

$db->disabled false;

$id 1;
$money 1000;

$res $db->query("select * from PEOPLE where ID='[0]' and MONEY>'[1]'"$id$money);
$arr $db->select('PEOPLE'"ID='[0]' and MONEY>'[1]'"$id$money);

//PARAMETERS IN ARRAY
$params = array('ID' => 1'MONEY' => 1000);

$res $db->query("select * from PEOPLE where ID='[ID]' and MONEY>'[MONEY]'"$params);
$arr $db->select('PEOPLE'"ID='[ID]' and MONEY>'[MONEY]'"$params);

print 
"<h4>Show last executed query</h4>";
print 
$db->lastQuery;

?>

Elapsed time: 17.55 ms