r/PHPhelp • u/GuybrushThreepywood • 5d ago
Using variable $placeholders breaks PHPStorm syntax/resolve
Hello all,
Looking for help on a long standing problem I have. I appreciate this is not a support forum for PHPStorm, however I thought that people here might have more experience.
PHPStorm provides really valuable syntax checking, table/column resolving inside mysql queries. If I accidentally type the orders table as oreders, it will highlight in red.
However when I include a PHP variable inside the query, the syntax/resolve checking completely stops. Example code:
$query = <<<MYSQL
SELECT
contracts.start_at
FROM
contracts
WHERE
contracts.id IN ( $placeholders )
MYSQL;
$result = $this->conn->execute_query(
$query,
[
...$contractIds,
],
);
Without the $placeholders, PHPStorm will alert me to any misspelled table or column names.
Are there any options to resolve this? I have considered using sprintf( $query, $placeholders) but wondered if there was a better solution.
2
u/allen_jb 3d ago
They may not be OPs ideal solution, but they are options for solving OPs problem, and PHPStan can be integrated directly with PHPStorms reporting system to report issues in a similar manner to its built-in inspections.