## AwlQuery

Description

The AwlQuery Class.

This class builds and executes SQL Queries and traverses the set of results returned from the query.

Example usage

1. $sql = "SELECT * FROM mytable WHERE mytype = ?";
2. $qry = new AwlQuery ( $sql, $myunsanitisedtype );
3. if ( $qry-> Exec ("typeselect", __line__, __file__ )
4. && $qry-> rows > 0 )
5. {
6. while( $row = $qry-> Fetch () ) {
7. do_something_with($row);
8. }
9. }

Located in /inc/AwlQuery.php (line 138)

Variable Summary
array $bound_parameters
resource $connection
string $error_info
string $execution_time
string $location
string $querystring
double $query_time_warning
resource $result
int $rownum
int $rows
string $sth
Method Summary
The __construct (string 0, mixed 1)
void Bind ()
resource Exec ([string $location = ''], [int $line = 0], [string $file = ''])
mixed Fetch ([boolean $as_array = false])
void Parameters ()
void Prepare ()
void QueryString ()
string quote ([mixed $str = null])
void rows ()
void SetConnection (resource $new_connection)
void _log_query (string $locn, string $tag, string $string, [int $line = 0], [string $file = ""])
Variables
array $bound_parameters (line 159)

The current array of bound parameters

- access: protected

resource $connection (line 147)

Our database connection, normally copied from a global one

- access: protected

string $error_info (line 189)

The Database error information, if the query fails.

- access: protected

string $execution_time (line 196)

Stores the query execution time - used to deal with long queries.

should be read-only

- access: protected

string $location (line 208)

Where we called this query from so we can find it in our code! Debugging may also be selectively enabled for a $location.

- access: public

string $querystring (line 153)

The original query string

- access: protected

double $query_time_warning = 0.3 (line 217)

How long the query should take before a warning is issued.

This is writable, but a method to set it might be a better interface. The default is 0.3 seconds.

- access: public

resource $result (line 171)

Result of the last execution

- access: protected

int $rownum = null (line 177)

number of current row - use accessor to get/set

- access: protected

int $rows (line 183)

number of rows from pg_numrows - use accessor to get value

- access: protected

string $sth (line 165)

The PDO statement handle, or null if we don't have one yet.

- access: protected

Methods
Constructor __construct (line 227)

Constructor

- return: AwlQuery object

The __construct (string 0, mixed 1)

- string 0: The query string in PDO syntax with replacable '?' characters or bindable parameters.
- mixed 1: The values to replace into the SQL string.

Bind (line 307)

Bind some parameters

void Bind ()
Exec (line 377)

Execute the query, logging any debugging.

Example So that you can nicely enable/disable the queries for a particular class, you could use some of PHPs magic constants in your call.

1. $qry-> Exec (__CLASS__, __LINE__, __FILE__);

- return: The actual result of the query (FWIW)

resource Exec ([string $location = ''], [int $line = 0], [string $file = ''])

- string $location: The name of the location for enabling debugging or just to help our children find the source of a problem.
- int $line: The line number where Exec was called
- string $file: The file where Exec was called

Fetch (line 453)

Fetch the next row from the query results

- return: query row

mixed Fetch ([boolean $as_array = false])

- boolean $as_array: True if thing to be returned is array

Parameters (line 347)

Return the parameters we are planning to substitute into the query string

void Parameters ()
Prepare (line 323)

Tell the database to prepare the query that we will execute

void Prepare ()
QueryString (line 339)

Return the query string we are planning to execute

void QueryString ()
quote (line 295)

Quote the given string so it can be safely used within string delimiters in a query. To be avoided, in general.

- return: NULL, TRUE, FALSE, a plain number, or the original string quoted and with ' and \ characters escaped

string quote ([mixed $str = null])

- mixed $str: Data to be converted to a string suitable for including as a value in SQL.

rows (line 355)

Return the count of rows retrieved/affected

void rows ()
SetConnection (line 255)

Use a different database connection for this query

void SetConnection (resource $new_connection)

- resource $new_connection: The database connection to use.

_log_query (line 273)

Log query, optionally with file and line location of the caller.

This function should not really be used outside of AwlQuery. For a more useful generic logging interface consider calling dbg_error_log(...);

void _log_query (string $locn, string $tag, string $string, [int $line = 0], [string $file = ""])

- string $locn: A string identifying the calling location.
- string $tag: A tag string, e.g. identifying the type of event.
- string $string: The information to be logged.
- int $line: The line number where the logged event occurred.
- string $file: The file name where the logged event occurred.

Documentation generated on Thu, 25 Feb 2010 11:39:17 +1300 by phpDocumentor 1.3.2