PHP动态计数功能

I am trying to make ONE dynamic function for count in mysql:

functions.php:

  function countEntries($table, $where = '', $what = '')
  {
      if (!empty($where) && isset($what)) {
          $q = "SELECT COUNT(*) FROM " . $table . "  WHERE " . $where . " = '" . $what . "' LIMIT 1";
      } else{
          $q = "SELECT COUNT(*) FROM " . $table . " LIMIT 1";
      }
      $record = query($q);
      $total = fetchrow($record);
      return $total[0];
  }

HTML Code:

<?php echo countEntries("news", "category", "1"); ?>
<?php echo countEntries("post", "type", "Sports"); ?>

But still got blank page without any error!!!

You can try this out.

function countEntries($table, $where = '', $what = '')
      {
          if (!empty($where) && isset($what)) {
              $q = "SELECT COUNT(*) AS count FROM " . $table . "  WHERE " . $where . " = '" . $what . "' LIMIT 1";
          } else{
              $q = "SELECT COUNT(*) AS count FROM " . $table . " LIMIT 1";
          }
          $record = query($q);
          $total = fetchrow($record);
          return $total['count'];
      }

Here you give an alias to the count(*) and use that to access the returned result as $total['count']. Hope it helps.

First things you forgot to close else past,second just add this line "ini_set("display_errors", 1);" at the top of your php.this will shows the error in your php.

Your code:

function countEntries($table, $where = '', $what = '')
{
  if (!empty($where) && isset($what)) {
      $q = "SELECT COUNT(*) FROM " . $table . "  WHERE " . $where . " = '" . $what . "' LIMIT 1";
  } else
      $q = "SELECT COUNT(*) FROM " . $table . " LIMIT 1";
  }
  $record = query($q);
  $total = fetchrow($record);
  return $total[0];
}

my code:

   function countEntries($table, $where = '', $what = '')
      {
      if (!empty($where) && isset($what)) {
          $q = "SELECT COUNT(*) AS count FROM " . $table . "  WHERE " . $where . " = '" . $what . "' LIMIT 1";
      } else{
          $q = "SELECT COUNT(*) AS count FROM " . $table . " LIMIT 1";
      }
      $record = query($q);
      $total = fetchrow($record);
      return $total['count'];
  }

Thanks guys, Its working well now:

function countEntries($table, $where, $what)
{
  if (!empty($where) && isset($what)) {
      $q = "SELECT COUNT(*) FROM " . $table . "  WHERE " . $where . " = '" . $what . "' LIMIT 1";
  } else
    $q = "SELECT COUNT(*) FROM " . $table . " LIMIT 1";
    $record = mysql_query($q);
    $total = mysql_fetch_array($record);
    return $total[0];
}


echo countEntries('news', "type", "sport");