mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10739 201d5d3c-b55e-5fd7-737f-ddc643e51545
89 lines
2.2 KiB
PHP
89 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* UpdateExpression
|
|
*
|
|
* @author Arnia Software
|
|
* @package /classes/db/queryparts/expression
|
|
* @version 0.1
|
|
*/
|
|
class UpdateExpression extends Expression {
|
|
/**
|
|
* argument
|
|
* @var object
|
|
*/
|
|
var $argument;
|
|
|
|
/**
|
|
* constructor
|
|
* @param string $column_name
|
|
* @param object $argument
|
|
* @return void
|
|
*/
|
|
function UpdateExpression($column_name, $argument){
|
|
parent::Expression($column_name);
|
|
$this->argument = $argument;
|
|
}
|
|
|
|
/**
|
|
* Return column expression, ex) column = value
|
|
* @return string
|
|
*/
|
|
function getExpression($with_value = true){
|
|
if($with_value)
|
|
return $this->getExpressionWithValue();
|
|
return $this->getExpressionWithoutValue();
|
|
}
|
|
|
|
/**
|
|
* Return column expression, ex) column = value
|
|
* @return string
|
|
*/
|
|
function getExpressionWithValue(){
|
|
$value = $this->argument->getValue();
|
|
$operation = $this->argument->getColumnOperation();
|
|
if(isset($operation))
|
|
return "$this->column_name = $this->column_name $operation $value";
|
|
return "$this->column_name = $value";
|
|
}
|
|
|
|
/**
|
|
* Return column expression, ex) column = ?
|
|
* Can use prepare statement
|
|
* @return string
|
|
*/
|
|
function getExpressionWithoutValue(){
|
|
$operation = $this->argument->getColumnOperation();
|
|
if(isset($operation))
|
|
return "$this->column_name = $this->column_name $operation ?";
|
|
return "$this->column_name = ?";
|
|
}
|
|
|
|
function getValue(){
|
|
// TODO Escape value according to column type instead of variable type
|
|
$value = $this->argument->getValue();
|
|
if(!is_numeric($value)) return "'".$value."'";
|
|
return $value;
|
|
}
|
|
|
|
function show(){
|
|
if(!$this->argument) return false;
|
|
$value = $this->argument->getValue();
|
|
if(!isset($value)) return false;
|
|
return true;
|
|
}
|
|
|
|
function getArgument(){
|
|
return $this->argument;
|
|
}
|
|
|
|
function getArguments()
|
|
{
|
|
if ($this->argument)
|
|
return array($this->argument);
|
|
else
|
|
return array();
|
|
}
|
|
}
|
|
|
|
|
|
?>
|