[PHP/MySQLi] Problem z funkcjią


(Marcinrm5) #1

Witam.

Mam problem z funkcją, która znajduje się w pliku nr. 2.

function show($code) {
	$sql = "SELECT * FROM `waluta` WHERE `code`='$code' LIMIT 1";
	$course = $connection -> query($sql) -> fetch_assoc();

	echo '<table>
			<tr>
				<td><p>Aktualny kurs <strong>'.$course['code'].'</strong> <img src="images/arrow_'.$course['flag'].'.png" alt="Wskaźnik" /></p></td>
				<td><p>Sprzedaż</p><p class="t-mini">'.$course['sell'].' PLN</p></td>
				<td><p>Kupno</p><p class="t-mini">'.$course['buy'].' PLN</p></td>
				<td><a href="zakladki.php">AKTUALNY KURS WALUT NA DZIEŃ</a></td>
			</tr>
		</table>';
}

Funkcję chciałem wywołać w pliku nr. 1, ale po wpisaniu show(‘EUR’); wyskoczył mi taki błąd

Fatal error: Call to a member function query() on null in C:\xampp\htdocs\waluta\zakladki.php on line 69

Najśmieszniejsze jest to, że gdy w pliku nr. 1 dam sam kod funkcji, a nie wywołanie funkcji to wszystko działa jak należy.

 

Pomóżcie :confused:


(Ldembowski) #2

Tak w uproszczeniu troche: Twoja funkcja tak poprostu nie jest wstanie nawiązać do polaczenia z bazą danych ($connection),  przekaż to jako drugi parametr funkcji function show($code, $connection) …


(Marcinrm5) #3

Dodałem zmienną $connection, ale dalej to samo :confused: w pliku nr. 1 mam u góry ją tak zdefiniowaną

$connection = new mysqli('localhost', 'root', '', 'test');
if (mysqli_connect_errno() != 0){
	echo '<p>Wystąpił błąd połączenia: ' . mysqli_connect_error() . '</p>';
}
include('zakladki.php');