<?php
 
################################################
 
// just replace the filename by another sample sql
 
$sql = file_get_contents("select.sql"); 
 
################################################
 
include_once("config.inc.php");
 
 
########################
 
// parse
 
########################
 
$sqlObject = new Sql_Parser($sql);
 
$parsedSQL = $sqlObject->parse();
 
 
pdbg($parsedSQL, "orange", __LINE__,__FILE__,100); 
 
 
########################
 
// compile
 
########################
 
$sqlObject2 = new Sql_Compiler();
 
pdbg($sqlObject2->compile($parsedSQL), "orange", __LINE__,__FILE__,100);
 
 
$parsedSQL = $sqlObject->parse();
 
 
########################
 
// using wrapper class
 
########################
 
$sqlDef = new Sql();
 
$sqlDef->parse($sql);
 
 
########################
 
// adding a left join
 
########################
 
$sqlDef->setJoinLeft(
 
    array(
 
        'Left'=> array("Value"=>"employees.employeeID", "Type" => "ident"),
 
        'Op'=> '=',
 
        'Right'=> array("Value"=>1, "Type" => "int_val"),
 
    )
 
);
 
########################
 
pdbg($sqlDef, "red", __LINE__,__FILE__,100);
 
pdbg($sqlDef->compile(), "red", __LINE__,__FILE__,100);
 
 
 
 
########################
 
##NEW added on 2008-12-12
 
########################
 
 
// create an insert statement from the scratch
 
$insertObject = new Sql();
 
$insertObject
 
    ->setCommand("insert")
 
    ->addTableNames("employees")
 
    ->addColumnNames(array("LastName","FirstName"))
 
    ->addValues(
 
        array(
 
            array("Value"=>"Davolio","Type"=>"text_val"),
 
            array("Value"=>"Nancy","Type"=>"text_val"),
 
        )
 
    );
 
 
pdbg($insertObject, "green", __LINE__,__FILE__,100); 
 
pdbg($insertObject->compile(), "green", __LINE__,__FILE__,100);
 
 
// create an update statement from the scratch
 
$updateObject = new Sql();
 
$updateObject
 
    ->setCommand("update")
 
    ->addTableNames("employees")
 
    ->addColumnNames(array("LastName","FirstName"))
 
    ->addValues(
 
        array(
 
            array("Value"=>"Davolio","Type"=>"text_val"),
 
            array("Value"=>"Nancy","Type"=>"text_val"),
 
        )
 
    );
 
$updateObject->setAndWhere( Sql::whereHelper("id",1) );
 
 
pdbg($updateObject, "lime", __LINE__,__FILE__,100); 
 
pdbg($updateObject->compile(), "lime", __LINE__,__FILE__,100);
 
 
 
// create a delete statement from the scratch
 
$deleteObject = new Sql();
 
$deleteObject
 
    ->setCommand("delete")
 
    ->addTableNames("employees");
 
$deleteObject
 
    ->setAndWhere(Sql::whereHelper("id",50,">"))
 
    ->setAndWhere(Sql::whereHelper("id",100,"<"));
 
 
pdbg($deleteObject, "red", __LINE__,__FILE__,100); 
 
pdbg($deleteObject->compile(), "red", __LINE__,__FILE__,100);
 
 
 
################################################
 
# showing how a subselect works
 
################################################
 
$sql = 'SELECT article, dealer, price FROM  shop WHERE  price=(SELECT MAX(price) FROM shop)'; 
 
// parse
 
$sqlObject = new Sql_Parser($sql);
 
$parsedSQL = $sqlObject->parse();
 
// compile
 
$sqlObject2 = new Sql_Compiler();
 
// output
 
pdbg($parsedSQL, "magenta", __LINE__,__FILE__,100); 
 
pdbg($sqlObject2->compile($parsedSQL), "magenta", __LINE__,__FILE__,100);
 
 
 
 |