latino.ad7
11.02.2010, 18:20:10
Nie mogę się połączyć z bazą danych. Używam WebServ, kiedyś to działało, ale teraz mam po reinstalacji i nie wiem co jest. Poprzez PHPMyAdmin utworzyłem tabęlę w bazie Webserv i wprowadziłem jeden przykładowy rekord.
Otrzymuję komunikat: Resource id #3. Co jest??
Czy ktoś mógłby, proszę, coś podpowiedzieć.
Kod PHP wygląda tak:
$hostt = 'localhost';
$userr = 'root';
$haslo = '';
$baza = 'webserv';
$link = mysql_connect ($hostt, $userr, $haslo);
$db = mysql_select_db($baza, $link);
$q = ("Select * from objects");
$r = mysql_query ($q, $link);
echo $r;
gothye
11.02.2010, 18:23:52
chyba zgubiłeś ten fragment gdzie dane z qery przekazujesz do mysql_fetch_assoc lub mysql_fetch_array
latino.ad7
11.02.2010, 20:12:59
Racja! Teraz działa.
Ale... jak to napisać poprawnie w PHP?
Powiedzmy, że mam tabelę "objects", w której mam 3 kolumny: id, name, author. Wprowadziłem 2 przykłądowe rekordy:
0, "aaa", "aaa0"
1, "bbb", "bbb0"
Kod w PHP mam z pętlą, ale coś nie działa:
$hostt = 'localhost';
$userr = 'root';
$haslo = '';
$baza = 'mydb';
$link = mysql_connect ($hostt, $userr, $haslo);
$db = mysql_select_db($baza, $link);
$q = ("Select name, author from objects");
$r = mysql_query ($q, $link);
while ($row = mysql_fetch_array($r, MYSQL_ASSOC)) {
echo $row['name'];
}
Jak wywołuję pojedynczo, to jest OK:
$row = mysql_fetch_array($r, MYSQL_ASSOC);
echo $row[0];
echo $row[1];
echo $row[2];
echo $row[3];
Jak to powinno być dobrze?