MCP-Booleans typisiert an PostgreSQL binden
This commit is contained in:
1 parent
13420b0e01
commit
c2913c1026
1 file changed
+13
-2
@@ -706,6 +706,17 @@ function market_management_write_fields(array $input, array $definitions): array
|
||||
return [$fields, $params];
|
||||
}
|
||||
|
||||
function market_management_execute_typed(PDOStatement $stmt, array $params): void
|
||||
{
|
||||
foreach ($params as $name => $value) {
|
||||
$type = is_bool($value)
|
||||
? PDO::PARAM_BOOL
|
||||
: (is_int($value) ? PDO::PARAM_INT : (is_null($value) ? PDO::PARAM_NULL : PDO::PARAM_STR));
|
||||
$stmt->bindValue($name, $value, $type);
|
||||
}
|
||||
$stmt->execute();
|
||||
}
|
||||
|
||||
function market_management_create_occurrence(PDO $pdo, array $input): array
|
||||
{
|
||||
$newMunicipalityName = null;
|
||||
@@ -764,7 +775,7 @@ function market_management_create_occurrence(PDO $pdo, array $input): array
|
||||
VALUES (' . implode(', ', $values) . ')
|
||||
RETURNING *'
|
||||
);
|
||||
$stmt->execute($params);
|
||||
market_management_execute_typed($stmt, $params);
|
||||
$occurrence = (array) $stmt->fetch();
|
||||
foreach ($days as $day) {
|
||||
if (!is_array($day)) {
|
||||
@@ -1011,7 +1022,7 @@ function market_management_update_occurrence(PDO $pdo, int $occurrenceId, array
|
||||
$stmt = $pdo->prepare(
|
||||
'UPDATE market_occurrence SET ' . implode(', ', $fields) . ' WHERE id = :id RETURNING *'
|
||||
);
|
||||
$stmt->execute($params);
|
||||
market_management_execute_typed($stmt, $params);
|
||||
$occurrence = $stmt->fetch();
|
||||
if (!is_array($occurrence)) {
|
||||
throw new RuntimeException('Marktdurchführung nicht gefunden.');
|
||||
|
||||
Reference in new issue
Block a user