inserting CLOB absolutely requires a length argument

Co-authored-by: Austin Huang <im@austinhuang.me>
This commit is contained in:
El RIDO 2022-01-24 21:44:20 +01:00 committed by GitHub
parent 55db9426b9
commit f4438a0103
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 4 deletions

View File

@ -548,12 +548,13 @@ class Database extends AbstractData
private static function _exec($sql, array $params)
{
$statement = self::$_db->prepare($sql);
foreach ($params as $key => $parameter) {
$position = $key + 1;
foreach ($params as $key => &$parameter) {
if (is_int($parameter)) {
$statement->bindValue($position, $parameter, PDO::PARAM_INT);
$statement->bindParam($key + 1, $parameter, PDO::PARAM_INT);
} elseif (strlen($parameter) >= 4000) {
$statement->bindParam($key + 1, $parameter, PDO::PARAM_STR, strlen($parameter));
} else {
$statement->bindValue($position, $parameter);
$statement->bindParam($key + 1, $parameter);
}
}
$result = $statement->execute();