Path

ez components / documentation / api reference / 2009.2.1 / database


eZ Components 2009.2.1

Database: ezcQueryUpdate

[ Tutorial ] [ Oracle setup ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcQueryUpdate

Class to create select database independent UPDATE queries. [source]
ezcQueryUpdate does not support updating from via a select call.
Note that this class creates queries that are syntactically independant of database. Semantically the queries still differ and so the same query may produce different results on different databases. Such differences are noted throughout the documentation of this class.
This class implements SQL92. If your database differs from the SQL92 implementation extend this class and reimplement the methods that produce different results. Some methods implemented in ezcQuery are not defined by SQL92. These methods are marked and ezcQuery will return MySQL syntax for these cases.
The examples show the SQL generated by this class. Database specific implementations may produce different results.
Example:
 1.  $q ezcDbInstance::get()->createUpdateQuery();
 2.  $q->update'legends' )
 3.         ->set'name'$q->bindValue'Gretzky' ) )
 4.         ->set'year'$q->bindValue1961 ) );
 5.  $stmt $q->prepare();
 6.  $stmt->execute();

Parents

ezcQuery
   |
   --ezcQueryUpdate

Member Variables

protected string $whereString = null
Stores the WHERE part of the SQL.

Inherited Member Variables

From ezcQuery:
protected  ezcQuery::$db
public  ezcQuery::$expr

Method Summary

public ezcQueryUpdate __construct( $db, [$aliases = array()] )
Constructs a new ezcQueryUpdate that works on the database $db and with the aliases $aliases.
public string getQuery( )
Returns the query string for this query object.
public ezcQueryUpdate set( $column, $expression )
The update query will set the column $column to the value $expression.
public ezcQueryUpdate update( $table )
Opens the query and sets the target table to $table.
public ezcQueryUpdate where( $... )
Adds a where clause with logical expressions to the query.

Inherited Methods

From ezcQuery :
public ezcQuery ezcQuery::__construct()
Constructs a new ezcQuery that works on the database $db and with the aliases $aliases.
public static array ezcQuery::arrayFlatten()
Returns all the elements in $array as one large single dimensional array.
public string ezcQuery::bindParam()
Binds the parameter $param to the specified variable name $placeHolder..
public string ezcQuery::bindValue()
Binds the value $value to the specified variable name $placeHolder.
public void ezcQuery::doBind()
Performs binding of variables bound with bindValue and bindParam on the statement $stmt.
protected string ezcQuery::getIdentifier()
Returns the correct identifier for the alias $alias.
protected array(string) ezcQuery::getIdentifiers()
Returns the correct identifiers for the aliases found in $aliases.
public abstract string ezcQuery::getQuery()
Returns the query string for this query object.
public bool ezcQuery::hasAliases()
Returns true if this object has aliases.
public PDOStatement ezcQuery::prepare()
Returns a prepared statement from this query which can be used for execution.
protected void ezcQuery::resetBinds()
Resets the bound values and parameters to empty.
public void ezcQuery::setAliases()
Sets the aliases $aliases for this object.
public ezcQuerySubSelect ezcQuery::subSelect()
Returns the ezcQuerySubSelect query object.
public string ezcQuery::__toString()
Return SQL string for query.

Methods

__construct

ezcQueryUpdate __construct( $db, [ $aliases = array()] )
Constructs a new ezcQueryUpdate that works on the database $db and with the aliases $aliases.
The parameters are passed directly to ezcQuery.

Parameters

Name Type Description
$db PDO  
$aliases array(string=>string)  

Redefinition of

Method Description
ezcQuery::__construct() Constructs a new ezcQuery that works on the database $db and with the aliases $aliases.

getQuery

string getQuery( )
Returns the query string for this query object.

Throws

ClassDescription
ezcQueryInvalidException if no table or no values have been set.

Redefinition of

Method Description
ezcQuery::getQuery() Returns the query string for this query object.

set

ezcQueryUpdate set( string $column, string $expression )
The update query will set the column $column to the value $expression.

Parameters

Name Type Description
$column string  
$expression string  

update

ezcQueryUpdate update( string $table )
Opens the query and sets the target table to $table.
update() returns a pointer to $this.

Parameters

Name Type Description
$table string  

where

ezcQueryUpdate where( string|array(string) $... )
Adds a where clause with logical expressions to the query.
where() accepts an arbitrary number of parameters. Each parameter must contain a logical expression or an array with logical expressions. If you specify multiple logical expression they are connected using a logical and. where() could be invoked several times. All provided arguments added to the end of $whereString and form final WHERE clause of the query.
Example:
 1.  $q->update'MyTable' )->where$q->expr->eq'id') );

Parameters

Name Type Description
$... string|array(string) Either a string with a logical expression name or an array with logical expressions.

Throws

ClassDescription
ezcQueryVariableParameterException if called with no parameters.

Last updated: Tue, 23 Mar 2010