<?php
/* * EXAMPLE 2 FILE FOR PTCQUERYBUILDER CLASS * PREPARED QUERIES FROM THE PTCQUERYBUILDER-EX1.PHP FILE WILL BE EXECUTED * RUN() , ROW() AND FIND() WIL BE USED TO EXECUTE QUERIES INSTEAD OF PREPARE() * WHEN USING THE ABOVE METHODS, PLACE HOLDERS ARE NOT NEEDED */ /*** DB DETAILS NEEDED TO EXECUTE QUERIES ***/ $db[ 'host' ] = 'localhost'; // mysql host $db[ 'user' ] = 'user'; // mysql user $db[ 'pass' ] = 'pass'; // mysql pass $db[ 'database' ] = 'database'; // mysql database name /*************************************************************/
$running = true; // preventing the example1 file to print the queries require_once( 'ptcquerybuilder-ex1.php' ); // require the example 1 file with the prepared queries /* INITIALIZING A PDO OBJECT TO RUN QUERIES WITH THE QUERYBUILDER */ $pdo = new PDO( 'mysql:host=' . $db[ 'host' ] . ';dbname=' . $db[ 'database' ] . ';charset:uft8;' , $db[ 'user' ] , $db[ 'pass' ] ); $pdo->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE , PDO::FETCH_OBJ ); // setting pdo default fetch mode
/* INITIALIZING THE QUERY BUILDER WITH PDO SUPPORT */ $qb = new PtcQueryBuilder( $pdo ); /* CREATE THE EXAMPLE TABLE */ $qb->run( "DROP TABLE IF EXISTS `test_table`" ); $qb->run( "CREATE TABLE `test_table` ( `id` int NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`), `field1` varchar(255), `field2` varchar(255), `field3` varchar(255) )" );
/* INSERTING DATA WITH PREVIOUSLY PREPARED STATEMENT */ $qb->run( $query_insert , array( ':value1' => 'somevalue' , ':value2' => 'somevalue12' , ':value3' => 180 ) ); $qb->run( $query_insert , array( ':value1' => 'somevalue' , ':value2' => 'somevalue1' , ':value3' => 20 ) ); $qb->run( $query_insert , array( ':value1' => 'somevalue' , ':value2' => 'somevalue12' , ':value3' => 200 ) ); /* GET LAST INSERTED ID */ $last_id = $qb->lastId( ); print '<b>last inserted Id:</b> '. $last_id . '<br><br>';
/* UPDATING DATA WITH PREVIOUSLY PREPARED STATEMENT */ $qb->run( $query_update , array( ':value1' => 'somevalue' , ':value2' => 'insert id' , ':id' => $last_id ) ); // using last inserted id here $qb->run( $query_update1 , array( ':value1' => 'som32' , ':value2' => 'so 43' , ':value3' => 'somevalue12' ) ); /* GET NUMBER OF AFFECTED ROWS BY LAST QUERY */ print '<b>Number of affected rows by update query:</b> ' . $qb->countRows( ) . '<br><br>';
/* SELECTING DATA WITH PREVIOUSLY PREPARED STATEMENTS */ $fields = array( ':value1' => 'somevalue' , ':value2' => 'insert id' ); print "<b>prepared select query result:</b> <pre>"; print print_r( $qb->run( $query_where1 , $fields ) , true ) . "</pre><br>"; /* LIMITING RESULTS */ $fields = array( ':start' => 1 , ':end' => 10 ); print "<b>prepared select query result with limit:</b> <pre>"; print print_r( $qb->run( $query_where2 , $fields ) , true ) . "</pre><br>"; /* USING WHERE BETWEEN */ $fields = array( ':value1' => 170 , ':value2' => 300 ); print "<b>prepared select between query result:</b> <pre>"; print print_r( $qb->run( $query_between , $fields ) , true ) . "</pre><br>"; /* USING WHERE IN */ $fields = array( ':1' => 20 , ':2' => 180 , ':limit' => 10 ); print "<b>prepared select where in query result:</b> <pre>"; print print_r( $qb->run( $query_in , $fields ) , true ) . "</pre><br>";
/* DELETING DATA WITH PREVIOUSLY PREPARED STATEMENTS */ $qb->run( $query_delete , array( ':id' => $last_id ) ); print '<b>Number of affected rows by delete based on id query:</b> '; print $qb->countRows( ) . '<br><br>'; $qb->run( $query_delete1 , array( ':value' => 'somevalue' ) ); print '<b>Number of affected rows by delete based on where clause query:</b> '; print $qb->countRows( ) . '<br><br>'; /* CREATE ONE MORE EXAMPLE TABLE FOR THE JOIN QUERY */ $qb->run( "CREATE TABLE `test_table1` ( `id` int NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`), `field4` varchar(255) )" ); /* RUNNING QUERIES WITH RUN() INSTEAD OF PREPARE(), NO PLACE HOLDERS NEEDED! */ $qb->table( 'test_table1' )->insert( array( 'field4' => 'somevalue' ) )->run( ); /* GET LAST INSERTED ID */ $last_id = $qb->lastId( ); print '<b>last inserted Id:</b> '. $last_id . '<br><br>'; /* JOINING TABLES WITH PREVIOUSLY PREPARED QUERY, REPLACE "left_" WITH THE TYPE OF JOIN YOUR ARE LOOKING FOR */ $qb->run( $query_join ); /* RETRIEVEING ONLY ONE ROW */ print "<b>return only 1 row query result:</b> <pre>"; print print_r( $qb->table( 'test_table1' ) ->where( 'field4' , '=' , 'somevalue' ) ->row( ) , true ) . '</pre><br><br>'; /* RETRIEVEING ONLY ONE COLUMN VALUE */ print "<b>return only column value:</b> "; print print_r( $qb->table( 'test_table1' ) ->where( 'field4' , '=' , 'somevalue' ) ->row( 'field4' ) , true ) . '<br><br>'; /* SELECTING A ROW BASED ON ID */ print "<b>return record with ->find(yourID) , shortcut for where('id' , '=' , yourID ):</b> <pre>"; print print_r( $qb->table( 'test_table1' )->find( $last_id ) , true ) . '</pre><br><br>';
|