38682-vm/parse_pdo.php
Flatlogic Bot 4dbf9aec32 test
2026-04-03 10:38:17 +00:00

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";