20 lines
769 B
PHP
20 lines
769 B
PHP
<?php
|
|
$content = file_get_contents('api/order.php');
|
|
$lines = explode("\n", $content);
|
|
|
|
$prepares = [];
|
|
foreach($lines as $i => $line) {
|
|
if (preg_match('/\$(\w+)\s*=\s*\$pdo->prepare\("(.*?)"\)/', $line, $m)) {
|
|
$prepares[$m[1]] = substr_count($m[2], '?');
|
|
}
|
|
if (preg_match('/\$(\w+)->execute\(\[(.*?)(\s*,.*?)?\]\)/', $line, $m)) {
|
|
$q_marks = $prepares[$m[1]] ?? -1;
|
|
$exec_count = isset($m[2]) && trim($m[2]) !== '' ? count(explode(',', $m[2])) : 0;
|
|
if ($q_marks !== -1 && $q_marks !== $exec_count) {
|
|
echo "MISMATCH on line " . ($i+1) . " for $" . $m[1] . "\n";
|
|
echo "Expected: $q_marks\n";
|
|
echo "Got: $exec_count (" . (isset($m[2]) ? $m[2] : '') . ")\n";
|
|
}
|
|
}
|
|
}
|
|
echo "Done.\n"; |