I made a script and I have a problem connecting to phpMyAdmin

14 Views Asked by At

I made a simple table form, but I don't know where I made a mistake. Below is the code.

Please give me some help.

index.php

<?php require_once 'baza.php';

    $connection = new mysqli($host, $username, $password, $database);

    if ($connection->connect_error) {
        die("Błąd połączenia z bazą danych: " . $connection->connect_error);
    }

    $connection->close();
    ?>`

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>System zarządzania danymi samochodowymi</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
</head>
<body>
    <div class="search">
        <input type="text" id="searchInput" placeholder="Wyszukaj po numerze VIN">
        <button onclick="search()">Szukaj</button>
        <select id="pageSize">
            <option value="5">5</option>
            <option value="10">10</option>
            <option value="15">15</option>
            <option value="20">20</option>
        </select>
        <label for="pageSize">wyników na stronę</label>
    </div>

    <div class="form">
        <form action="save_data.php" method="POST">
            <label for="dataPrzyjecia">Data przyjęcia:</label>
            <input type="date" id="dataPrzyjecia" name="dataPrzyjecia">
            <label for="dataWykonania">Data wykonania:</label>
            <input type="date" id="dataWykonania" name="dataWykonania">
            <label for="dataOddania">Data oddania samochodu:</label>
            <input type="date" id="dataOddania" name="dataOddania">
            <label for="numerVIN">Numer VIN:</label>
            <input type="text" id="numerVIN" name="numerVIN">
            <label for="przebieg">Przebieg:</label>
            <input type="number" id="przebieg" name="przebieg">
            <label for="imieOdbierajacego">Imię osoby odbierającej samochód:</label>
            <input type="text" id="imieOdbierajacego" name="imieOdbierajacego">
            <label for="daneKontaktowe">Dane kontaktowe:</label>
            <input type="text" id="daneKontaktowe" name="daneKontaktowe">
            <label for="wykonywaneZadania">Co trzeba wykonać:</label>
            <input type="text" id="wykonywaneZadania" name="wykonywaneZadania">
            <label for="wykonaneZadania">Co zostało wykonane:</label>
            <input type="text" id="wykonaneZadania" name="wykonaneZadania">
            <label for="uwagi">Uwagi:</label>
            <input type="text" id="uwagi" name="uwagi">       
            <button type="submit">Zapisz</button>
        </form>
    </div>

    <div class="data-list">
        <h2>Dane samochodowe</h2>
        <?php
            // Kod PHP pobierający dane z bazy danych i wyświetlający je w postaci tabeli
            $host = 'localhost'; // Adres serwera bazy danych
            $username = 'srv344_dane'; // Login do phpMyAdmin
            $password = 'b6FJtM9k86Tyky4JGWeV'; // Hasło do phpMyAdmin
            $database = 'srv344_dane'; // Nazwa bazy danych

            $conn = new mysqli($host, $username, $password, $database);

            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            }

            $sql = "SELECT * FROM samochody";
            $result = $conn->query($sql);

            if ($result->num_rows > 0) {
                echo '<table>';
                echo '<tr><th>Data przyjęcia</th><th>Data wykonania</th><th>Data oddania samochodu</th><th>Numer VIN</th><th>Przebieg</th><th>Imię osoby odbierającej samochód</th><th>Dane kontaktowe</th><th>Co trzeba wykonać</th><th>Co zostało wykonane</th><th>Uwagi</th></tr>';
                $color = "#D9D9D9";
                while($row = $result->fetch_assoc()) {
                    echo '<tr style="background-color: ' . $color . '">';
                    echo '<td>' . $row["dataPrzyjecia"] . '</td>';
                    echo '<td>' . $row["dataWykonania"] . '</td>';
                    echo '<td>' . $row["dataOddania"] . '</td>';
                    echo '<td>' . $row["numerVIN"] . '</td>';
                    echo '<td>' . $row["przebieg"] . '</td>';
                    echo '<td>' . $row["imieOdbierajacego"] . '</td>';
                    echo '<td>' . $row["daneKontaktowe"] . '</td>';
                    echo '<td>' . $row["wykonywaneZadania"] . '</td>';
                    echo '<td>' . $row["wykonaneZadania"] . '</td>';
                    echo '<td>' . $row["uwagi"] . '</td>';
                    echo '<td><button onclick="edit(' . $row["id"] . ')">Edytuj</button></td>';
                    echo '<td><button onclick="delete(' . $row["id"] . ')">Usuń</button></td>';
                    echo '</tr>';
                    $color = ($color == "#D9D9D9") ? "#FFFFFF" : "#D9D9D9";
                }
                echo '</table>';
            } else {
                echo "Brak danych.";
            }

            $conn->close();
        ?>
    </div>
</body>
</html>

baza.php

<?php
// Dane do połączenia z bazą danych
$host = 'localhost'; // Adres serwera bazy danych
$username = 'srv344_dane'; // Login do phpMyAdmin
$password = 'b6FJtM9k86Tyky4JV'; // Hasło do phpMyAdmin
$database = 'srv344_dane'; // Nazwa bazy danych

// ... Tutaj możesz dodać inne zmienne z danymi, jeśli potrzebujesz
?>

save_data.php

<?php 

error_reporting(E_ALL);
ini_set('display_errors', '1');

?>
<?php
// Pobierz dane z formularza
$dataPrzyjecia = $_POST['dataPrzyjecia'];
$dataWykonania = $_POST['dataWykonania'];
$dataOddania = $_POST['dataOddania'];
$numerVIN = $_POST['numerVIN'];
$przebieg = $_POST['przebieg'];
$imieOdbierajacego = $_POST['imieOdbierajacego'];
$daneKontaktowe = $_POST['daneKontaktowe'];
$wykonywaneZadania = $_POST['wykonywaneZadania'];
$wykonaneZadania = $_POST['wykonaneZadania'];
$uwagi = $_POST['uwagi'];

// Utwórz połączenie z bazą danych
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "moja_baza";

$conn = new mysqli($servername, $username, $password, $dbname);

// Sprawdź połączenie
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Przygotuj zapytanie SQL z parametrami
$stmt = $conn->prepare("INSERT INTO samochody (dataPrzyjecia, dataWykonania, dataOddania, numerVIN, przebieg, imieOdbierajacego, daneKontaktowe, wykonywaneZadania, wykonaneZadania, uwagi) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

// Sprawdź, czy przygotowanie zapytania się powiodło
if ($stmt === false) {
    die("Error: " . $conn->error);
}

// Przypisz wartości parametrów
$stmt->bind_param("ssssisssss", $dataPrzyjecia, $dataWykonania, $dataOddania, $numerVIN, $przebieg, $imieOdbierajacego, $daneKontaktowe, $wykonywaneZadania, $wykonaneZadania, $uwagi);

// Wykonaj zapytanie
if ($stmt->execute() === false) {
    die("Error: " . $stmt->error);
}

// Zamknij połączenie i zapytanie
$stmt->close();
$conn->close();

// Przekieruj do strony głównej po zapisaniu danych
header("Location: index.php");
exit();
?>

phpMyAdmin

CREATE TABLE samochody (
    id INT AUTO_INCREMENT PRIMARY KEY,
    dataPrzyjecia DATE,
    dataWykonania DATE,
    dataOddania DATE,
    numerVIN VARCHAR(20),
    przebieg INT,
    imieOdbierajacego VARCHAR(50),
    daneKontaktowe VARCHAR(100),
    wykonywaneZadania VARCHAR(255),
    wykonaneZadania VARCHAR(255),
    uwagi VARCHAR(255)
)

After filling out the form, the save_data.php page appears and displays an error: Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'root'@'localhost' in /home/srv344/domains/xxx.pl/public_html/daneserwisu/save_data.php:26 Stack trace: #0 /home/srv344/domains/xxx.pl/public_html/daneserwisu/save_data.php(26): mysqli->__construct('localhost', 'root', '', 'moja_baza') #1 {main} thrown in /home/srv344/domains/xxx.pl/public_html/daneserwisu/save_data.php on line 26

It seems that connecting to the database has failed.

Where did I make a mistake?

I entered the database data 100% correctly.

0

There are 0 best solutions below