Есть файл conn.php - скрипт подключения к БД:
<?php
$conf = parse_ini_file('config.ini');
$host = $conf['mysql_host'];
$db = $conf['mysql_database'];
$user = $conf['mysql_user'];
$pass = $conf['mysql_password'];
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO($dsn, $user, $pass, $opt);
?>
И файл showarticles.php - собственно вывод из БД:
<?php
include "/conn.php";
function showart($start, $end){
$data = $pdo->query('SELECT * FROM articles WHERE id BETWEEN '.$start.' AND '.$end);
foreach($data as $rows) {
foreach($rows as $val){
print($val).' ';
}
print('</br>');
}
}
?>
При таком вызове из index.php:
<?php
include "/showarticles.php";
showart(2,3);
?>
Происходит ошибка:
Notice: Undefined variable: pdo in C:\xampp\htdocs\myblog\showarticles.php on line 4
Fatal error: Call to a member function query() on null in C:\xampp\htdocs\myblog\showarticles.php on line 4
До того как стал использовать функцию для вывода вроде работало корректно.
Да и например такой вод код в index.php работает корректно:
<?php
require "./conn.php";
require "./showarticles.php";
$data = $pdo->query('SELECT * FROM articles WHERE id BETWEEN 2 AND 3');
foreach($data as $rows) {
foreach($rows as $val){
print($val).' ';
}
print('</br>');
}
//showart(2,3);
?>
Подскажите кто разбирается, в чём тут дела? Понимаю что ошибка наверное весьма глупая