Я пишу курсовой проект. У меня установлена 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:
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](https://vk.com/away.php?to=http%3A%2F%2Fbook.id&cc_key=)_author=[author.id](https://vk.com/away.php?to=http%3A%2F%2Fauthor.id&cc_key=)_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, из-за чего проект не подключается к базе данных и сервер не работает как положено.
В чём проблема? Помогите, пожалуйста!