Funkcja łączenia z bazą danych

0

Cześć, trochę bawię się funkcjami w PHP. Napisałem sobie taki kodzik z myślą, że będzie on działać :) ale coś jest nie tak. W zasadzie jak to naprawić?

function connectDatabase($host, $dbName, $user, $pass) {
	try {
		$conn = new PDO('mysql:host='.$host.'; dbname='.$dbName.'', ''.$user.'', ''.$pass.'');
	} catch ( Exception $e ) {
		print_r ('Error: '.$e->$getMessage().'' );
	}	
	return $conn;
}
connectDatabase('localhost', 'komis', 'root', '');
$getData = $conn->prepare("SELECT * FROM `cars`");
if (!$getData->execute()) {
	print_r($getData->errorInfo());
}
foreach ($getData as $rowData) {
	echo '<p>Brand: '.$rowData['Marka'].' || Model: '.$rowData['Model'].'</p>';
}

Zwracana notatka i błąd:

Notice: Undefined variable: conn in C:\xampp\htdocs\Tests\test2.php on line 29

Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\Tests\test2.php:29 Stack trace: #0 {main} thrown in C:\xampp\htdocs\Tests\test2.php on line 29

Jak sobie z tym poradzić?

0

Zmienną $conn definiujesz w obrębie funkcji, poza nią nie będzie jej widać. Skoro zwracasz ją na końcu, to wykorzystaj to:

$connection = connectDatabase('localhost', 'komis', 'root', '');
$getData = $connection->prepare("SELECT * FROM `cars`");

1 użytkowników online, w tym zalogowanych: 0, gości: 1