protected $connection;
protected $driver = '';
protected $pdo_emulate_prepares = false;
- private $error = false;
+ private $error = '';
private $errorno = 0;
private $affected_rows = 0;
protected $in_transaction = false;
if (count($args) == 0) {
if (!$retval = $this->connection->query($this->replaceParameters($sql, $args))) {
$errorInfo = $this->connection->errorInfo();
- $this->error = $errorInfo[2];
- $this->errorno = (int) $errorInfo[1];
+ $this->error = (string)$errorInfo[2];
+ $this->errorno = (int)$errorInfo[1];
$retval = false;
$is_error = true;
break;
/** @var $stmt mysqli_stmt|PDOStatement */
if (!$stmt = $this->connection->prepare($sql)) {
$errorInfo = $this->connection->errorInfo();
- $this->error = $errorInfo[2];
- $this->errorno = (int) $errorInfo[1];
+ $this->error = (string)$errorInfo[2];
+ $this->errorno = (int)$errorInfo[1];
$retval = false;
$is_error = true;
break;
if (!$stmt->execute()) {
$errorInfo = $stmt->errorInfo();
- $this->error = $errorInfo[2];
- $this->errorno = (int) $errorInfo[1];
+ $this->error = (string)$errorInfo[2];
+ $this->errorno = (int)$errorInfo[1];
$retval = false;
$is_error = true;
} else {
if (!$can_be_prepared || (count($args) == 0)) {
$retval = $this->connection->query($this->replaceParameters($sql, $args));
if ($this->connection->errno) {
- $this->error = $this->connection->error;
- $this->errorno = $this->connection->errno;
+ $this->error = (string)$this->connection->error;
+ $this->errorno = (int)$this->connection->errno;
$retval = false;
$is_error = true;
} else {
$stmt = $this->connection->stmt_init();
if (!$stmt->prepare($sql)) {
- $this->error = $stmt->error;
- $this->errorno = $stmt->errno;
+ $this->error = (string)$stmt->error;
+ $this->errorno = (int)$stmt->errno;
$retval = false;
$is_error = true;
break;
}
if (!$stmt->execute()) {
- $this->error = $this->connection->error;
- $this->errorno = $this->connection->errno;
+ $this->error = (string)$this->connection->error;
+ $this->errorno = (int)$this->connection->errno;
$retval = false;
$is_error = true;
} else {
}
}
- $this->error = $error;
- $this->errorno = (int) $errorno;
+ $this->error = (string)$error;
+ $this->errorno = (int)$errorno;
}
$this->profiler->stopRecording();
array_walk($fields, function(&$value, $key) use ($options)
{
$field = $value;
- $value = '`' . str_replace('`', '``', $value) . '`';
+ $value = DBA::quoteIdentifier($field);
if (!empty($options['group_by']) && !in_array($field, $options['group_by'])) {
$value = 'ANY_VALUE(' . $value . ') AS ' . $value;