|
|
@@ -21,13 +21,21 @@ class AdapterSqlite extends Adapter { |
|
|
|
// NOTE: For SQLite we have to use this clumsy approach |
|
|
|
// otherwise all fieldnames used must have a unique key. |
|
|
|
$query = 'SELECT COUNT(*) FROM `' . $table . '` WHERE '; |
|
|
|
foreach($input as $key => $value) { |
|
|
|
$query .= '`' . $key . '` = ? AND '; |
|
|
|
$inserts = array(); |
|
|
|
foreach ($input as $key => $value) { |
|
|
|
$query .= '`' . $key . '`'; |
|
|
|
if (is_null($value)) { |
|
|
|
$query .= ' IS NULL AND '; |
|
|
|
} else { |
|
|
|
$inserts[] = $value; |
|
|
|
$query .= ' = ? AND '; |
|
|
|
} |
|
|
|
} |
|
|
|
$query = substr($query, 0, strlen($query) - 5); |
|
|
|
|
|
|
|
try { |
|
|
|
$stmt = $this->conn->prepare($query); |
|
|
|
$result = $stmt->execute(array_values($input)); |
|
|
|
$result = $stmt->execute($inserts); |
|
|
|
} catch(\Doctrine\DBAL\DBALException $e) { |
|
|
|
$entry = 'DB Error: "'.$e->getMessage() . '"<br />'; |
|
|
|
$entry .= 'Offending command was: ' . $query . '<br />'; |