• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd (HY000/2002) przy połączeniu z bazą danych

Object Storage Arubacloud
0 głosów
967 wizyt
pytanie zadane 16 marca 2022 w SQL, bazy danych przez smokowi Nowicjusz (120 p.)

Witam o to jak wyglada moj problem.

Na raspberry pi postawilem sewer lokalny apache2. Napisalem prosta strone w html i stworzylem baze danych w mysql. Do strony html moge wejsc poprzez ip na innym kompie a do bazy danych nie wyswietla mi sie taki blad:


Warning: mysqli_connect(): (HY000/2002): Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia in C:\xampp\htdocs\strona\dane.php on line 10

Warning: Attempt to read property "connect_error" on bool in C:\xampp\htdocs\strona\dane.php on line 14
Connected successfully
Fatal error: Uncaught TypeError: mysqli_close(): Argument #1 ($mysql) must be of type mysqli, bool given in C:\xampp\htdocs\strona\dane.php:20 Stack trace: #0 C:\xampp\htdocs\strona\dane.php(20): mysqli_close(false) #1 {main} thrown in C:\xampp\htdocs\strona\dane.php on line 20

 

A tak o to wyglada moj skrypt php:

 

<?php

$servername = "192.168.0.103";
$database = "login";
$username = "admin";
$password = "admin";

// Create connection

$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

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

echo "Connected successfully";

mysqli_close($conn);




?>
komentarz 16 marca 2022 przez smokowi Nowicjusz (120 p.)
Tak
komentarz 16 marca 2022 przez smokowi Nowicjusz (120 p.)
Skrypt php ma za zadanie połączyć się z baza danych na raspberry
komentarz 16 marca 2022 przez VBService Ekspert (253,280 p.)

A próbowałeś?

$servername = "localhost";
$database = "login";
$username = "admin";
$password = "admin";

 

komentarz 16 marca 2022 przez smokowi Nowicjusz (120 p.)
tak, nic z tego
1
komentarz 16 marca 2022 przez VBService Ekspert (253,280 p.)

a poszukaj w folderze mysql pliku my.ini i poszukaj 

[client]
;password = your_password
port = 3306

mam wrażenie, że @Wiciorny ma rację, masz przyblokowany port na firewall-u.

2 odpowiedzi

+1 głos
odpowiedź 16 marca 2022 przez Wiciorny Ekspert (269,770 p.)

Jeśli tryb wyjątku mysqli nie jest włączony i połączenie nie powiedzie się, mysqli_connect() zamiast obiektu zwraca false.

Więc nie możesz przekazać tego jako obiekt 

$conn = new mysqli($servername, $username, $password, $database); // albo tak 

albo obiektowo zamknij 

$mysqli -> close()

możesz też zamknąc jak masz ale wtedy wywołać funkcje

 mysqli_error($conn)

 

komentarz 16 marca 2022 przez smokowi Nowicjusz (120 p.)
zrobiłem tak jak napisałeś i zniknał jeden błąd ale ciągle pozostał drugi

Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia
+1 głos
odpowiedź 16 marca 2022 przez Arkadiusz Waluk Ekspert (287,950 p.)
Masz bazę na tym samym serwerze co Apache? Bo nie do końca rozumiem to "Do strony html moge wejsc poprzez ip na innym kompie a do bazy danych nie wyswietla mi sie taki blad". Czy jesteś pewien, że serwer MySQL działa, możesz się do niego podłączyć poprzez innego klienta przy użyciu tych samych danych, np. konsolowego albo z jakiegoś phpmyadmin/workbench? Mam tu na myśli to czy sprawdziłeś, że działa, bo samo to że uruchomiłeś to trochę mało, bo coś później mogło się stać i go wywalić. Czy działa na pewno na porcie 3306?

Jeśli serwer działa i łączysz się w ramach jednego serwera - spróbuj w konfiguracji dla pewności hosta "localhost" zamiast IP. Jeśli to połączenie do bazy z zewnątrz to upewnij się, że masz użytkownika, który może to robić, a nie jest np. ograniczony tylko do połączeń z localhosta (choć podejrzewam, że wtedy jednak błąd byłby inny).

Podobne pytania

0 głosów
1 odpowiedź 6,739 wizyt
pytanie zadane 8 stycznia 2018 w SQL, bazy danych przez sapero Gaduła (4,100 p.)
0 głosów
1 odpowiedź 597 wizyt
pytanie zadane 10 lutego 2018 w PHP przez Major Nowicjusz (160 p.)
0 głosów
0 odpowiedzi 208 wizyt
pytanie zadane 24 grudnia 2017 w SQL, bazy danych przez barteku12 Obywatel (1,340 p.)

92,566 zapytań

141,420 odpowiedzi

319,610 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...