[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с подключением к БД через PDO и инклуд
saifuddin
Всем привет.
Сам я только начинаю заниматься 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 и потом его выполнять. Но, я ни как не пойму, как мне это реализовать. Дайте пример или с моим помогите разобраться... Ну, ведь наверняка тут все элементарно, а, вот ни как не разберусь, что к чему!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.