Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes for PHP8 and remain backward compatible
Deprecated: Optional parameter $password declared before required parameter $table is implicitly treated as a required parameter in tableManager.php
2 options ...
move $password to further down the list
Would require simple changes to all callers to reflect the new parameter order. Best to make it the first optional in this case.
make it mandatory
Passwords is probably always set by caller - even if only an empty string Probably no change to callers.
I have gone for option 2.
Testing of results in PDO operations needs to handle both int and string returns
For example:
validateTableName:
PHP7
array (size=1)
0 =>
array (size=1)
'count' => string '1' (length=1)
PHP8
array(1) { [0]=> array(1) { ["count"]=> int(1) } }
So change from === to == and let PHP juggle the types.
$mysqlDb needs to be declared at the top of the class to avoid "deprecated" warning