Jump to content
TeeZ

Kolejny raz odnośnie tego samego tematu - pobieranie danych z bazy

Recommended Posts


<?


    error_reporting(E_ALL);

    ini_set('display_errors','1');


@$db = mysql_pconnect("localhost", "root", "123");

if (!$db)  

    {     

    print "wystąpił błąd w połączeniu";     

    exit;  

    }  


    $query = "select * from ibf_members";

$result = mysql_query($query);  

$num_results = mysql_num_rows($result);  

$tabela1 = "ipb_members";

$title = "title";

$mgi = "member_group_id";

$wl = "warn_level";


    mysql_select_db("test");

    print "<p>Ilość użytkowników w bazie danych: ".$num_results."</p>";  

    print "<hr>";

    for ($i=0; $i <$num_results; $i++)  {  

    $row = mysql_fetch_array($result);    


    //UŻYYTKOWNIK

    print "<b>Nazwa użytkownika: </b>";     

    print stripslashes($row["name"]);    

    print "<br>";


    //ID

    print "<b>ID użytkownika: </b>";

    print stripslashes($row["member_id"]);    

    print "<br>";


    //GRUPA

    print "<b>ID grupy: </b>";

    print stripslashes($row["member_group_id"]);

    print "<br>";


    //E-MAIL

    print "<b>E-mail: </b>";

    print stripslashes($row["email"]);    

    print "<br>";


    //POSTY

    print "<b>Liczba postów: </b>";

    print stripslashes($row["posts"]);  

    print "<br>";


    //IP

    print "<b>Adres IP: </b>";

    print stripslashes($row["ip_address"]);  

    print "<br>";


    //TYTUŁ

    print "<b>Tytuł: </b>";

   	 if (empty($row["title"]))

    {

    print "BRAK";

    }

    else

    {

    print stripslashes($row["title"]);

    }


    //JEZYK

    print "<br>";

    print "<b>Wybrany język: </b>";

    print stripslashes($row["language"]);  

    print "<br>";


    //WYSWIETLENIA PROFILU

    print "<b>Wyświetleń profilu: </b>";

    print stripslashes($row["members_profile_views"]);  

    print "<br>";


    //WARNY

    print "<b>Liczba warnów: </b>";

   	 if (empty($row["warn_level"]))

    {

    print "0";

    }

    else

    {

    print stripslashes($row["warn_level"]);

    }

    print "<br>";

    print "<hr>";

}


?>

Na Localhoscie wszystko śmiga, na hostingu : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/bebek112/domains/pro-gamming.pl/public_html/userinfo.php on line 15 Iloć użytkowników w bazie danych: 15 linia
$num_results = mysql_num_rows($result); 

Share this post


Link to post
Share on other sites

Witaj,

mieszasz coś i to strasznie tutaj:


@$db = mysql_pconnect("localhost", "root", "123");
if (!$db)
{
print "wystąpił błąd w połączeniu";
exit;
}

$query = "select * from ibf_members";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
$tabela1 = "ipb_members";
$title = "title";
$mgi = "member_group_id";
$wl = "warn_level";

mysql_select_db("test");
[/php]

Najpierw wykonujesz zapytanie do bazy a później dopiero wybierasz bazę danych. Ten fragment powinien wyglądać tak:

[php]
@$db = mysql_pconnect("localhost", "root", "123");
if (!$db)
{
print "wystąpił błąd w połączeniu";
exit;
}

mysql_select_db("test");

$query = "select * from ibf_members";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
$tabela1 = "ipb_members";
$title = "title";
$mgi = "member_group_id";
$wl = "warn_level";

Ale docelowo powinno się także sprawdzać, czy baza danych została wybrana podobnie jak z połączeniem

Share this post


Link to post
Share on other sites

Nadal ten sam błąd.

Share this post


Link to post
Share on other sites

to znaczy, że masz coś źle, że nie wykonuje tego zapytania. Masz taką tabele w bazie, z którą się łączysz?

Share this post


Link to post
Share on other sites

Tak. Nie pokazuje print "wystąpił błąd w połączeniu"; przy aktualnych danych, a przy zmienionych ( złych ) tak.

Dodatkowo jak mówiłem, na localu wszystko hula, a na zewnętrznym już nie..

Edited by TeeZ

Share this post


Link to post
Share on other sites

Ale czy połączenie z bazą jest nawiązywane prawidłowo, czy baza danych nazywa się tak jak należy oraz czy tabela w bazie nazywa się tak samo...

Share this post


Link to post
Share on other sites

Wszystko tak samo. Gdyby połączenie nie zostało nawiązane to wyskoczyłby odnośnie tego błąd ( spr ze złymi danymi ). Możliwe jest, że hosting nie ma włączonej jakieś funkcji php? Tabela też tak samo się nazywa, bo to ta sama wersja IPB z tym samym prefiksem.

Share this post


Link to post
Share on other sites

Ok, to zrób tak:

zamień ten swój kod na taki:


<?

error_reporting(E_ALL);
ini_set('display_errors','1');

$db = mysql_pconnect("localhost", "root", "123");
if (!$db)
{
print "wystąpił błąd w połączeniu";
exit;
}

$db_selected = mysql_select_db('test', $db );
if (!$db_selected) {
die ('Błąd wybierania bazy: ' . mysql_error());
}


$query = "select * from ibf_members";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
$tabela1 = "ipb_members";
$title = "title";
$mgi = "member_group_id";
$wl = "warn_level";


print "<p>Ilość użytkowników w bazie danych: ".$num_results."</p>";
print "<hr>";
for ($i=0; $i <$num_results; $i++) {
$row = mysql_fetch_array($result);

//UŻYYTKOWNIK
print "<b>Nazwa użytkownika: </b>";
print stripslashes($row["name"]);
print "<br>";

//ID
print "<b>ID użytkownika: </b>";
print stripslashes($row["member_id"]);
print "<br>";

//GRUPA
print "<b>ID grupy: </b>";
print stripslashes($row["member_group_id"]);
print "<br>";

//E-MAIL
print "<b>E-mail: </b>";
print stripslashes($row["email"]);
print "<br>";

//POSTY
print "<b>Liczba postów: </b>";
print stripslashes($row["posts"]);
print "<br>";

//IP
print "<b>Adres IP: </b>";
print stripslashes($row["ip_address"]);
print "<br>";

//TYTUŁ
print "<b>Tytuł: </b>";
if (empty($row["title"]))
{
print "BRAK";
}
else
{
print stripslashes($row["title"]);
}

//JEZYK
print "<br>";
print "<b>Wybrany język: </b>";
print stripslashes($row["language"]);
print "<br>";

//WYSWIETLENIA PROFILU
print "<b>Wyświetleń profilu: </b>";
print stripslashes($row["members_profile_views"]);
print "<br>";

//WARNY
print "<b>Liczba warnów: </b>";
if (empty($row["warn_level"]))
{
print "0";
}
else
{
print stripslashes($row["warn_level"]);
}
print "<br>";
print "<hr>";
}

?>[/php]

i powiedz jaki masz teraz błąd. Ogólnie żadna z tych funkcji, które używasz nie jest wyłączana na żadnym serwerze, bo to są podstawowe funkcje.

A nadal masz ten błąd z [b]Warning[/b]: mysql_num_rows(): supplied argument is not a valid MySQL result resource in [b]/home/bebek112/domains/pro-gamming.pl/public_html/userinfo.php[/b] on line [b]15[/b] ?

Share this post


Link to post
Share on other sites


[b]Warning[/b]: mysql_num_rows(): supplied argument is not a valid MySQL result resource in [b]/home/bebek112/domains/pro-gamming.pl/public_html/userinfo.php[/b] on line [b]21[/b]

Czyli :
$num_results = mysql_num_rows($result);

:nomention:

Share this post


Link to post
Share on other sites

Wtedy wyskakuje błąd o linii

print "<p>Ilość użytkowników w bazie danych: ".$num_results."</p>";
I
for ($i=0; $i <$num_results; $i++) {
A po zakomentowaniu w/w o
syntax error, unexpected '}'
}

Share this post


Link to post
Share on other sites

to daj na sztywno jakąś wartość dla $num_results a poza tym


for ($i=0; $i <$num_results; $i++) {
$row = mysql_fetch_array($result);
[/code] lepiej zamienić na
[code]while($row = mysql_fetch_array($result))

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

W celu świadczenie usług przez nasz Serwis na najwyższym poziomie, w ramach Serwisu wykorzystujemy pliki Cookies (tzw. ciasteczka). Korzystając ze stron Serwisu IPSBEYOND.PL bez zmiany ustawień przeglądarki będą one zapisane w pamięci urządzenia. Jeżeli nie dokonacie Państwo zmiany ustawień przeglądarki internetowej to wyrażacie zgodę na zapisywanie plików Cookies.