From 6cec56771b86f00c2f7f8d363706194376b9a87f Mon Sep 17 00:00:00 2001 From: ngleader Date: Mon, 18 Oct 2010 02:17:39 +0000 Subject: [PATCH] =?UTF-8?q?r7760=20Mysqli=20Mysql=5Finnodb=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B3=B4=EC=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://xe-core.googlecode.com/svn/sandbox@7763 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/db/DBMysql_innodb.class.php | 17 ++++++++++++++--- classes/db/DBMysqli.class.php | 21 ++++++++++++++------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/classes/db/DBMysql_innodb.class.php b/classes/db/DBMysql_innodb.class.php index 856e51d82..b6e50d67e 100644 --- a/classes/db/DBMysql_innodb.class.php +++ b/classes/db/DBMysql_innodb.class.php @@ -443,13 +443,24 @@ $table_list[] = '`'.$this->prefix.$val.'`'; } - // 컬럼 정리 + // 컬럼 정리 foreach($output->columns as $key => $val) { $name = $val['name']; $value = $val['value']; + if($output->column_type[$name]!='number') { - $value = "'".$this->addQuotes($value)."'"; - if(!$value) $value = 'null'; + + if(!is_null($value)){ + $value = "'" . $this->addQuotes($value) ."'"; + }else{ + if($val['notnull']=='notnull') { + $value = "''"; + } else { + //$value = 'null'; + $value = "''"; + } + } + } elseif(!$value || is_numeric($value)) $value = (int)$value; $column_list[] = '`'.$name.'`'; diff --git a/classes/db/DBMysqli.class.php b/classes/db/DBMysqli.class.php index f2a52f55e..7b9a345ea 100644 --- a/classes/db/DBMysqli.class.php +++ b/classes/db/DBMysqli.class.php @@ -422,23 +422,30 @@ $table_list[] = '`'.$this->prefix.$val.'`'; } - // 컬럼 정리 + // 컬럼 정리 foreach($output->columns as $key => $val) { $name = $val['name']; $value = $val['value']; if($output->column_type[$name]!='number') { - $value = "'".$this->addQuotes($value)."'"; - if(!$value) $value = 'null'; + + if(!is_null($value)){ + $value = "'" . $this->addQuotes($value) ."'"; + }else{ + if($val['notnull']=='notnull') { + $value = "''"; + } else { + //$value = 'null'; + $value = "''"; + } + } + } elseif(!$value || is_numeric($value)) $value = (int)$value; + $column_list[] = '`'.$name.'`'; $value_list[] = $value; } - $query = sprintf("insert into %s (%s) values (%s)", implode(',',$table_list), implode(',',$column_list), implode(',', $value_list)); - - return $this->_query($query); - } /** * @brief updateAct 처리