PHP MYSQL polaczenie

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Marcosss
Nowy
Nowy
Posty: 67
Rejestracja: sob kwie 12, 2008 5:45 am

PHP MYSQL polaczenie

Post autor: Marcosss »

powie mi ktos co jest tu zle?

Kod: Zaznacz cały

function tabela($nazwa){
	
	$pol = mysql_connect('sql.byethost.com', 'b11_2927*', $haslo);
	$db_sel = mysql_select_db('bh_2927*_'.$nazwa, $pol);
	
	if (!$pol){
		error('db', 'conn');
		exit;
	}
	
	if (!$db_sel){
		error('db', 'tab');
		exit;
	}
	
}

tabela('test');
P.S. funkcja error działa poprawnie.
gorylek
Zaczyna działać
Zaczyna działać
Posty: 427
Rejestracja: śr gru 19, 2007 7:29 pm

Re: PHP MYSQL polaczenie

Post autor: gorylek »

Powodów może być kilka. Po pierwsze gubisz kolejność. Sprawdź czy nawiązano połączenie przed wyborem bazy danych.
Po drugie, co to za zmienna $haslo. Bo nie widzę jej deklaracji. Jeżeli nie jest pusta to ok.
Po trzecie, nie prościej używać klasę mysqli ?

Kod: Zaznacz cały

$bd = new mysqli('serwer','login','haslo','baza');
if(!bd) { echo 'Sie solidnie popier...'; exit; }
Te dwie linijki załatwiają sprawę w sumie. Poczytaj o klasie troszkę to zobaczysz że jest bardzo wygodna w użyciu, np później chcąc wykonać zapytanie:

Kod: Zaznacz cały

$wynik = $bd->query('SELECT * FROM tabela');
while($wiersz = $wynik->fetch_array())
{ echo $wiersz['pole_z_tabeli']."<br />"; }
Na pewno zauważysz masę podobieństw jak np nazwy funkcji. Chcesz sprawdzić ilość wierszy ?

Kod: Zaznacz cały

$wiersz->num_rows;
itp itd etc. Chyba że to kwestia przyzwyczajenia ale mysqli jest wydajniejsze i prostsze w użyciu.
ODPOWIEDZ