修正 \think\db\Driver类的getBindSql方法的一处BUG

This commit is contained in:
thinkphp
2016-01-31 22:14:31 +08:00
parent c0ec502470
commit bdd28d9b27

View File

@@ -60,8 +60,6 @@ abstract class Driver
'charset' => 'utf8', 'charset' => 'utf8',
// 数据库表前缀 // 数据库表前缀
'prefix' => '', 'prefix' => '',
// 数据库调试模式
'debug' => false,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0, 'deploy' => 0,
// 数据库读写是否分离 主从式有效 // 数据库读写是否分离 主从式有效
@@ -197,7 +195,7 @@ abstract class Driver
$this->debug(false); $this->debug(false);
return $this->getResult(); return $this->getResult();
} catch (\PDOException $e) { } catch (\PDOException $e) {
throw new Exception($this->getError()); throw new Exception($e->getMessage() . "\n [ SQL语句 ] : " . $this->queryStr);
} }
} }
@@ -247,7 +245,7 @@ abstract class Driver
} }
return $this->numRows; return $this->numRows;
} catch (\PDOException $e) { } catch (\PDOException $e) {
throw new Exception($this->getError()); throw new Exception($e->getMessage() . "\n [ SQL语句 ] : " . $this->queryStr);
} }
} }
@@ -266,7 +264,7 @@ abstract class Driver
// 判断占位符 // 判断占位符
$sql = is_numeric($key) ? $sql = is_numeric($key) ?
substr_replace($sql, $val, strpos($sql, '?'), 1) : substr_replace($sql, $val, strpos($sql, '?'), 1) :
str_replace(':' . $key, $val, $sql); str_replace(':' . $key . ' ', $val . ' ', $sql);
} }
} }
return $sql; return $sql;
@@ -291,9 +289,6 @@ abstract class Driver
} else { } else {
$result = $this->PDOStatement->bindValue($param, $val); $result = $this->PDOStatement->bindValue($param, $val);
} }
if (!$result) {
throw new Exception('bind param error : [ ' . $param . '=>' . $val . ' ]');
}
} }
} }