<?php
//first you need to define db info
  define('mySQL_hostname', 'localhost');  //database IP
  define('mySQL_database', 's');  //database name
  define('mySQL_username', 's');  //database user
  define('mySQL_password', 's');  //database password

//connects to mysql
  $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )
    or die( 'Error connecting to mysql<br><br>'.mysql_error() );

//connects to Database
  $db_select = mysql_select_db( mySQL_database, $db_link )
    or die( 'Error connecting to Database<br><br>'.mysql_error() );

//selects desired table
   $chars=mysql_query("SELECT * FROM characters");

//tells how much rows are there (will come helpfull with while loops)
   $rows = mysql_numrows($characters);

   $i=0;
   $x=0;

//while $i is smaller than number of rows repeat the code
   while ($i < $rows) {
    $online=mysql_result($chars,$i,"online"); //looks into characters table, under column online(if player is online its "0" else "1"), at row $i
    if ($online == 1) { $x++; } // if column online at row $i is "1", increase $x
    $i++; //increase $i
    }
   print 'Online players:<em>'.$x.'<em>'; //prints out the $x number of players online
?>

Why i get

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/nomercyr/public_html/l2/config/players.php on line 40
Online players:0

I don't see the problem

Recommended Answers

All 7 Replies

Typo in line 20. You are using the wrong variable.

what variable i should use ?

//change line 20 like pritaeas suggested.
$rows = mysql_numrows($characters);
//to
$rows = mysql_numrows($chars);
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home2/nomercyr/public_html/l2/config/players.php on line 40

i already do that but don't work

<?php
//first you need to define db info
  define('mySQL_hostname', 'localhost');  //database IP
  define('mySQL_database', 's');  //database name
  define('mySQL_username', 's');  //database user
  define('mySQL_password', 's');  //database password

//connects to mysql
  $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )
    or die( 'Error connecting to mysql<br><br>'.mysql_error() );

//connects to Database
  $db_select = mysql_select_db( mySQL_database, $db_link )
    or die( 'Error connecting to Database<br><br>'.mysql_error() );

//selects desired table
   $chars=mysql_query("SELECT * FROM characters");

//tells how much rows are there (will come helpfull with while loops)
   $rows = mysql_numrows($characters);

   $i=0;
   $x=0;

//while $i is smaller than number of rows repeat the code
   while ($i < $rows) {
    $online=mysql_result($chars,$i,"online"); //looks into characters table, under column online(if player is online its "0" else "1"), at row $i
    if ($online == 1) { $x++; } // if column online at row $i is "1", increase $x
    $i++; //increase $i
    }
   print 'Online players:<em>'.$x.'<em>'; //prints out the $x number of players online
?>

Why i get

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/nomercyr/public_html/l2/config/players.php on line 40
Online players:0

I don't see the problem

I test your code that updated by ddymacek, it work properly.

Do you include that file into another file? because i see your code only 32 line, and you have error on line 40.

yes is in this code:

<div class="transparent-header">
            <h1>l2</h1>
        </div>
        
        <div class="plain-black clearfix">
              <div class="left-col">
              
                <div class="post clearfix">

                    <h2 class="entry-title">
                        <a href="">Players Online</a>
                    </h2>
                    
                    <div class="entry-content clearfix">
                        <?php
//first you need to define db info
  define('mySQL_hostname', 'localhost');  //database IP
  define('mySQL_database', 's');  //database name
  define('mySQL_username', 's');  //database user
  define('mySQL_password', 's');  //database password

//connects to mysql
  $db_link = mysql_pconnect( mySQL_hostname, mySQL_username, mySQL_password )
    or die( 'Error connecting to mysql<br><br>'.mysql_error() );

//connects to Database
  $db_select = mysql_select_db( mySQL_database, $db_link )
    or die( 'Error connecting to Database<br><br>'.mysql_error() );

//selects desired table
   $chars=mysql_query("SELECT * FROM characters");

//tells how much rows are there (will come helpfull with while loops)
   $rows = mysql_numrows($chars);

   $i=0;
   $x=0;

//while $i is smaller than number of rows repeat the code
   while ($i < $rows) {
    $online=mysql_result($chars,$i,"online"); //looks into characters table, under column online(if player is online its "0" else "1"), at row $i
    if ($online == 1) { $x++; } // if column online at row $i is "1", increase $x
    $i++; //increase $i
    }
   print 'Online players:<em>'.$x.'<em>'; //prints out the $x number of players online
?>

                    </div>                 </div>

                

              </div>
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.