php + mysql połączenie z bazą.

0

Witam,
od paru godzin próbuję wykonać poprawie połączenie z bazą danych MySQL i cały czas coś jest nie tak ponieważ po uruchomieniu strony nie ma żadnego efektu. Nie wiem, czy jest czy nie połączenie z bazą MySQL, proszę mnie ukierunkować. Z góry dzięki.

Kod:
index.php

<!doctype html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>TYTUŁ STRONY</title>
	</head>
	<body>

			<?php 
			require "ConnectionDB.php";
			ConnectionDB();
			?>
			
	</body>
</html>
 

ConnectionDB.php

 <?php

/****************************************************** 
* ConnectionDB.php 
* konfiguracja połączenia z bazą danych 
******************************************************/ 

function ConnectionDB(){
$db_obj = new mysqli("localhost","admin","admin","dieta");
if (!$db_obj -> connect_errno){
	echo 'Błąd podczas próby połączenia z serwerem MySQL...<br />';
	echo 'Komunikat: ' . $db_obj->connect_error;
	exit;
}
}
else {
	echo 'Połączenie z bazą danych zostało nawiązane...<br />';
}

//miejsce na instrukcje wykonujące operacje na bazie danych

if($db_obj->close()){
	echo 'Połączenie z serwerem MySQL zostało zamknięte...<br />';

}
else {
	echo 'Błąd podczas zamykania połączenia z serwerem MySQL...<br />';
}
}

?>

Według mnie powinno działać, a efekt po wywołaniu tej funkcji jest następujący:

user image

czyli pusto

0

Dobra działa. Po prostu zamiast na serwer localhost/praca/index.php pakowałem się ścieżką jak widać na powyższym screenie. Żal :D

0

Sorry że się czepiam, ale nie możesz PDO użyć?

0

Jakaś konkretna różnica??

0

A czekaj mam w książce, zaraz poczytam o PDO :)

0

Dobra ogarnąłem temat:


<?php

/****************************************************** 
* ConnectionDB.php 
* konfiguracja połączenia z bazą danych 
******************************************************/ 

function ConnectionDB(){

$dsn = "mysql:host=localhost;dbname=dieta";
$user = "admin";
$password = "admin";
try{
	$dbo = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
		echo 'Błąd podczas próby połączenia z serwerem MySQL:<br />' . $e->getMessage();
		exit;
}

		echo 'Połączenie z bazą danych zostało nawiązane...<br />';


//miejsce na instrukcje wykonujące operacje na bazie danych

$dbo = null;
	echo 'Połączenie z serwerem MySQL zostało zamknięte...<br />';

}

?>


ale mam jakiś problem, bo po wczytaniu strony pojawia się komunikat o errorze:

Błąd podczas próby połączenia z serwerem MySQL:
could not find driver

ke?

0

;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll

tu napiszę bo nie widać tam

0

Ktoś ma może jakiś pomysł ?

0

Przełączyłem na inną bazę danych stworzoną wcześniej domyślnie i poszło pod hasłami użytkownikiem root root, czyli coś z bazą jest nie tak. Muszę to zweryfikować. PDO ma jakieś specjalne życzenie co do tworzenia bazy w phpmyadmin ??

0

Nie, to tylko interfejs komunikacyjny.

0

Rozumiem, tak więc problem leży albo w prawach usera, którego wcześniej stworzyłem jako admin, ewentualnie w uprawnieniach do bazy danych. Tak więc myślę, że jak trochę pogrzebię i zrobię na spokojnie od nowa to powinno pójść.

0

Połączenie z bazą danych zostało nawiązane...
Połączenie z serwerem MySQL zostało zamknięte...

Jest :) udało się wszystko. Zweryfikowałem i z tego co mi wiadomo to tylko jedna różnica jest:

wcześniej użytkownik admin miał w phpmyadmin zaznaczoną opcję dowolny host, zmieniłem tylko na localhost i działa. mysql:host=localhost ten fragmencik możliwe że blokował, jednak dowolny host to % czyli powinno działać, ale jak zmieniłem to poszło.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.