execute v2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?php
$str = 'SELECT * FROM `table` WHERE `name` = ? AND `id` = ?';
$values = array('abl?er98', 1);
$count = substr_count($str, '?');
$pos = 0;
for ($i = 0; $i < $count; ++$i) {
$values[$i] = '\''.$values[$i].'\''; // Добавляем кавычки + можно добавить фильтрацию (убрать xss и т.п.)
$start = mb_strpos($str, '?', $pos);
$str = substr_replace($str, $values[$i], $start, 1);
$pos = $start + mb_strlen($values[$i]);
}
echo $str;