diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index a7a3e2e5eb..801dc87071 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -3908,7 +3908,7 @@ parameters:
-
message: "#^Argument of an invalid type mixed supplied for foreach, only iterables are supported\\.$#"
- count: 2
+ count: 1
path: src/Controllers/Table/ReplaceController.php
-
@@ -4016,11 +4016,6 @@ parameters:
count: 1
path: src/Controllers/Table/ReplaceController.php
- -
- message: "#^Parameter \\#1 \\$oneWhereClause of method PhpMyAdmin\\\\InsertEdit\\:\\:setSessionForEditNext\\(\\) expects string, mixed given\\.$#"
- count: 1
- path: src/Controllers/Table/ReplaceController.php
-
-
message: "#^Parameter \\#1 \\$query of method PhpMyAdmin\\\\InsertEdit\\:\\:executeSqlQuery\\(\\) expects array, mixed given\\.$#"
count: 1
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index c8aaf41782..b12f78b57c 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -3440,7 +3440,6 @@
-
@@ -3485,20 +3484,14 @@
-
-
-
-
-
-
diff --git a/src/Controllers/Table/ReplaceController.php b/src/Controllers/Table/ReplaceController.php
index 86654f6e38..d2f5649dbb 100644
--- a/src/Controllers/Table/ReplaceController.php
+++ b/src/Controllers/Table/ReplaceController.php
@@ -27,6 +27,7 @@ use PhpMyAdmin\Table\Table;
use PhpMyAdmin\Transformations;
use PhpMyAdmin\UrlParams;
use PhpMyAdmin\Util;
+use Webmozart\Assert\Assert;
use function __;
use function array_keys;
@@ -75,14 +76,13 @@ final class ReplaceController implements InvocableController
$afterInsert = $request->getParsedBodyParamAsStringOrNull('after_insert');
if (in_array($afterInsert, ['new_insert', 'same_insert', 'edit_next'], true)) {
UrlParams::$params['after_insert'] = $afterInsert;
- $whereClause = $request->getParsedBodyParam('where_clause');
- if ($whereClause !== null) {
- foreach ($whereClause as $oneWhereClause) {
- if ($afterInsert === 'same_insert') {
- UrlParams::$params['where_clause'][] = $oneWhereClause;
- } elseif ($afterInsert === 'edit_next') {
- $this->insertEdit->setSessionForEditNext($oneWhereClause);
- }
+ $whereClause = $request->getParsedBodyParam('where_clause', []);
+ Assert::allString($whereClause);
+ foreach ($whereClause as $oneWhereClause) {
+ if ($afterInsert === 'same_insert') {
+ UrlParams::$params['where_clause'][] = $oneWhereClause;
+ } elseif ($afterInsert === 'edit_next') {
+ $this->insertEdit->setSessionForEditNext($oneWhereClause);
}
}
}