如何用php获取mysql数据库的行数

如何用php获取mysql数据库的行数,php,mysql,sql,database,Php,Mysql,Sql,Database,我想通过一条语句或一个函数获得mysql数据库表的行数 include "opendatabase.php"; //opens database while (NUMBEROFROWS > 0){ //do something } function getRowNumber(){ $query = "SELECT COUNT(*) FROM `votes`"; $result = mysql_query($query, $connect); list

我想通过一条语句或一个函数获得mysql数据库表的行数

include "opendatabase.php"; //opens database

while (NUMBEROFROWS > 0){
    //do something
}
function getRowNumber(){
    $query = "SELECT COUNT(*) FROM  `votes`";
    $result = mysql_query($query, $connect);

    list($length) = mysql_fetch_row($result);
    return $length;

}
NUMBEROFROWS
应替换为返回行数的语句

我已经尝试创建一个函数

include "opendatabase.php"; //opens database

while (NUMBEROFROWS > 0){
    //do something
}
function getRowNumber(){
    $query = "SELECT COUNT(*) FROM  `votes`";
    $result = mysql_query($query, $connect);

    list($length) = mysql_fetch_row($result);
    return $length;

}
但是如果我不把
包含在“opendatabase.php”中,它就不起作用在其中

我做错了什么

给你:

function num(){
 $data = mysql_query("SELECT * FROM table");
  if(mysql_num_rows($data) > 0){
    while($row = mysql_fetch_assoc($data)){
      // do something with your data..
    }
  }
}

这对你有用吗

  function getRowNumber()
{
   $query = "SELECT COUNT(*) as counts FROM  `votes`";
   $result = mysql_query($query, $connect);
   $row = mysql_fetch_array($result);
   $counts = $row['counts'];
return $counts;

}

问题是
包含“opendatabase.php”在另一个作用域中运行,如此处所述


函数中缺少一个
global$connect

opendatabase.php
中初始化数据库连接,并将连接链接作为参数传递给函数。这是一个范围问题。您的数据库连接应该是全局的(不建议这样做),或者通过函数本身传递。当您不使用
include“opendatabase.php”时,会出现什么错误
$result = mysql_query("SELECT * FROM tablename");

if (mysql_num_rows($result) > 0) {
    // rows found..
}