Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2023, 10:38   #1
lutic
Новичок
Джуниор
 
Регистрация: 06.07.2023
Сообщений: 1
Вопрос Программа не видит файл и не может подключить базу данных к проекту

Я пишу курсовой проект. У меня установлена mysql workbench и visual studio code. Проект пишется на PHP.

Я создал базу данных и подключил её к проекту через файл bd.php, но при запуске сервера на веб странице выдавалась ошибка, связанная с базой данных:

Warning: session_start(): Session cannot be started after headers have already been sent in C:\Users\Наталья\Downloads\app\app\ bd.php on line 2
Ошибка базы данных
Warning: Undefined variable $connect in C:\Users\Наталья\Downloads\app\app\ index.php on line 14

Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\Users\Наталья\Downloads\app\app\ index.php:14 Stack trace: #0 {main} thrown in C:\Users\Наталья\Downloads\app\app\ index.php on line 14

Код из bd.php:

<?php
session_start();
$db_name = "library";

$login = "root";
$password = "74201245";


try{
$connect = new PDO("mysql:host=10.100.3.80;dbname= ".$db_name.";charset=utf8",$log in, $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

}catch(PDOException $e){
$Log_File = "log.txt";
file_put_contents($Log_File, date("Y-m-d H:i:s")." -//- ".$e->getMessage().PHP_EOL, FILE_APPEND | LOCK_EX);
echo '<meta charset="UTF-8">Ошибка базы данных';
}

index.php line 14:

<?php
require_once 'bd.php';

$sql = $connect ->prepare("SELECT * FROM `book` JOIN author ON (book.id_author=author.id_author)") ;
$sql->execute();
$arrayb = $sql->fetchAll(PDO::FETCH_ASSOC);

$sql = $connect ->prepare("SELECT * FROM `author`");
$sql->execute();
$arraya = $sql->fetchAll(PDO::FETCH_ASSOC);
?>

В файле php.ini записано так:

extension_dir = "C:\php\ext"

extension="php_pdo_mysql.dll"

Но он всё рано не видит файл php_pdo_mysql.dll, из-за чего проект не подключается к базе данных и сервер не работает как положено.

В чём проблема? Помогите, пожалуйста!

Последний раз редактировалось lutic; 06.07.2023 в 10:42.
lutic вне форума Ответить с цитированием
Старый 21.09.2023, 07:07   #2
teacherburn
Новичок
Джуниор
 
Регистрация: 21.09.2023
Сообщений: 1
По умолчанию

Я думаю, что есть проблема с кодом ниже.
try{
$connect = new PDO("mysql:host=10.100.3.80;dbname= ".$db_name.";charset=utf8",$log in, $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
$Log_File = "log.txt";
file_put_contents($Log_File, date("Y-m-d H:i:s")." -//- ".$e->getMessage().PHP_EOL, FILE_APPEND | LOCK_EX);
echo '<meta charset="UTF-8">Ошибка базы данных';
}

index.php line 14:

<?php
require_once 'bd.php';

$sql = $connect ->prepare("SELECT * FROM `book` JOIN author ON (book.id_author=author.id_author)") ;
$sql->execute();
$arrayb = $sql->fetchAll(PDO::FETCH_ASSOC);

$sql = $connect ->prepare("SELECT * FROM `author`");
$sql->execute();
$arraya = $sql->fetchAll(PDO::FETCH_ASSOC);
?>

Последний раз редактировалось teacherburn; 21.09.2023 в 07:11.
teacherburn вне форума Ответить с цитированием
Старый 21.09.2023, 09:04   #3
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

lutic, у тебя зачем-то в файл ошибка подключения к БД записывается. Поправь код как показано ниже и скопируй сюда ошибку.
Код:
echo '<meta charset="UTF-8">Ошибка базы данных' . $e->getMessage();
И надеюсь $log in это опечатка тут, а не там.
Valick на форуме Ответить с цитированием
Старый 13.02.2024, 06:45   #4
DanielSkelly
Новичок
Джуниор
 
Регистрация: 13.02.2024
Сообщений: 1
По умолчанию

Ошибка Warning: session_start(): Session cannot be started after headers have already been sent:
Эта ошибка чаще всего возникает, когда ваши PHP-скрипты отправляют какие-то данные клиенту (например, HTML или текст), а затем пытаются начать сессию. Убедитесь, что функция session_start() вызывается в самом начале файла bd.php, до того как отправляются какие-либо данные на клиентскую сторону.
rice purity test
DanielSkelly вне форума Ответить с цитированием
Старый 13.02.2024, 08:56   #5
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 493
По умолчанию

DanielSkelly, это старый топик 23-го года. Чувака походу уже давно выгнали)
Valick на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не получается подключить базу данных QT Krasi Общие вопросы по программированию, компьютерный форум 39 22.12.2020 12:07
Поиск не видит базу данных... Kursant_vv БД в Delphi 7 04.03.2015 20:25
Как подключить .dll файл к проекту free6878 Помощь студентам 0 03.07.2011 14:33
как подключить базу данных к программе gromsiti Общие вопросы C/C++ 17 08.04.2010 10:43
Как подключить lib файл к проекту в C++ Builder Hacker_ Общие вопросы C/C++ 0 28.10.2009 12:41