Сам я только начинаю заниматься php программированием. И, хотелось бы получить совет от тех, кто уже с этим сталкивался. Я хочу использовать MVC. Но, для начала не могу разобраться с подключением к БД. Пока делаю без ООП, так как с ним будет еще сложнее ошибку выявить.
В отдельном файле у меня лежат константы для входа в БД. (Имя хоста, логин, пароль ... )
В другом файле лежит само подключение к БД через PDO
<?php
include_once 'db_config.php';
try {
$link = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_LOGIN , DB_PASSWORD);
$link->exec("set names utf8"); //Кодировка с БД
error_reporting(E_ALL);
echo "работает";
$sql = "SELECT * FROM article";
$result = $link->query($sql);
$link = null;
} catch (PDOException $e) {
print "Error: " . $e -> getMessage() . "<br/>";
}
?>
И, собственно сам файл.
<?php include_once 'includes/db_connect.php'; ?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Задание 2</title>
</head>
<body>
<?php
echo "<h2>Вывод записей из результата по одной: </h2>";
while ($table = $result->fetch(PDO::FETCH_ASSOC)) {
echo "{$table['id']}. Автор: {$table['author']}, Заголовок: {$table['topic']}, Текст: {$table['text']}. <br/>";
}
?>
</body>
</html>
В общем такая проблема:
1. Если я оставлю $sql в index.php, то у меня ни чего не работает.
<?php include_once 'includes/db_connect.php'; ?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Задание 2</title>
</head>
<body>
<?php
$sql = "SELECT * FROM article";
$result = $link->query($sql);
echo "<h2>Вывод записей из результата по одной: </h2>";
while ($table = $result->fetch(PDO::FETCH_ASSOC)) {
echo "{$table['id']}. Автор: {$table['author']}, Заголовок: {$table['topic']}, Текст: {$table['text']}. <br/>";
}
?>
</body>
</html>
А, другой файл выглядит так
<?php
include_once 'db_config.php';
try {
$link = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_LOGIN , DB_PASSWORD);
$link->exec("set names utf8"); //Кодировка с БД
error_reporting(E_ALL);
echo "работает";
$link = null;
} catch (PDOException $e) {
print "Error: " . $e -> getMessage() . "<br/>";
}
?>
На, экране выбивает, только слово "работает".
Как мне произвести подключение к БД в отдельном файле и потом его вызывать через инклуд, а вот сам индекс файл, пусть он будет за модул представлен, мне в модуле нужно будет некой переменно присваивать запрос SQL и потом его выполнять. Но, я ни как не пойму, как мне это реализовать. Дайте пример или с моим помогите разобраться... Ну, ведь наверняка тут все элементарно, а, вот ни как не разберусь, что к чему!