В моем проекте я использую множество запросов pdo, специально подготовленных операторов, из-за того, что мои файлы выглядят так плохо.Для очистки моих файлов я выполняю sql-файл, в который записываю мои подготовленные операторы и где-то мои переменные, и получаю мои результаты.
Это для Windows Server с PHP 7.2 (у меня включены mysqli и pdo_mysql),Апач 2.4.Я попытался выполнить файл sql, это слово отлично, но не знаю, как это работает с подготовленным оператором и его переменными / связыванием, и если это действительно возможно в php.
[php]
//1 - execute a normal sql file (no prepared)
function executeSqlFile($filesql){
$req = file_get_contents($filesql);
Sql($req);
}
//2 - my try to execute a prepared sql file
function executeSqlPreparedFile($filesql) {
$query = file_get_contents($filesql);
$array = explode("\n", $query);
$b = true;
for ($i=0; $i < count($array) ; $i++) {
$str = $array[$i];
if ($str != '') {
$str .= ';';
$b &= mysql_query($str);
}
}
return $b;
}
Для последующего кода содержится в запросе.sql:
SELECT
race1.start_time,
race1.finish_time,
race1.penalty,
race1.result_time,
competitors.number,
competitors.name,
competitors.firstname,
competitors.club_abrev
FROM race1
INNER JOIN competitors
ON race1.number = competitors.number
WHERE competitors.ishere = 1
AND competitors.isfinish = 1
AND competitors.categorie_number = $categorie_number
ORDER BY competitors.sex,
competitors.categorie_number,
race1.result_time ASC
Я бы использовал что-то вроде =>
execute(PATH/query.sql, array(
'categorie_number' => $categorie_key,
'bind_parameter' => $value_during_the_execution)
)