mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-08 03:22:29 +09:00
join query사용시에 value에 . 이 있을 경우 query fail이 나는 문제 해결
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@2934 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
cc74a3f5ec
commit
637e953a34
8 changed files with 13 additions and 20 deletions
|
|
@ -316,12 +316,17 @@
|
|||
* like, like_prefix의 경우 value자체가 변경됨
|
||||
* type == number가 아니면 addQuotes()를 하고 ' ' 로 묶음
|
||||
**/
|
||||
function getConditionValue($name, $value, $operation, $type) {
|
||||
function getConditionValue($name, $value, $operation, $type, $column_type) {
|
||||
if($type == 'number') {
|
||||
if(strpos($value,',')===false && strpos($value,'(')===false) return (int)$value;
|
||||
return $value;
|
||||
}
|
||||
|
||||
if(strpos($value,'.')!==false) {
|
||||
list($column_name) = explode('.',$value);
|
||||
if($column_type[$column_name]) return $value;
|
||||
}
|
||||
|
||||
$value = preg_replace('/(^\'|\'$){1}/','',$value);
|
||||
|
||||
switch($operation) {
|
||||
|
|
@ -339,9 +344,6 @@
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
if(strpos($name,'.')!==false && strpos($value,'.')!==false) return $value;
|
||||
|
||||
return "'".$this->addQuotes($value)."'";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@
|
|||
$type = $this->getColumnType($output->column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type);
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $output->column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
if(strpos($name,'.')===false) $name = '"'.$name.'"';
|
||||
|
||||
|
|
|
|||
|
|
@ -374,7 +374,7 @@
|
|||
$type = $this->getColumnType($output->column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type);
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $output->column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
$str = $this->getConditionPart($name, $value, $operation);
|
||||
if($sub_condition) $sub_condition .= ' '.$pipe.' ';
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@
|
|||
$type = $this->getColumnType($output->column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type);
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $output->column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
$str = $this->getConditionPart($name, $value, $operation);
|
||||
if($sub_condition) $sub_condition .= ' '.$pipe.' ';
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@
|
|||
$type = $this->getColumnType($output->column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type);
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $output->column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
$str = $this->getConditionPart($name, $value, $operation);
|
||||
if($sub_condition) $sub_condition .= ' '.$pipe.' ';
|
||||
|
|
|
|||
|
|
@ -389,7 +389,7 @@
|
|||
$type = $this->getColumnType($output->column_type,$name);
|
||||
$pipe = $v['pipe'];
|
||||
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type);
|
||||
$value = $this->getConditionValue($name, $value, $operation, $type, $output->column_type);
|
||||
if(!$value) $value = $v['value'];
|
||||
|
||||
$str = $this->getConditionPart($name, $value, $operation);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue