首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php 循环结果集 生手

2013-07-11 
php循环结果集新手本帖最后由 zuoan2008 于 2013-07-06 15:47:24 编辑class_db.php?phpClass MySQLDB{var

php 循环结果集 新手
本帖最后由 zuoan2008 于 2013-07-06 15:47:24 编辑 class_db.php


<?php
Class MySQLDB
{
var $host;
var $user;
var $passwd;
var $database;
var $conn;

//利用构造函数实现变量初始化
//同时连接数据库操作
function MySQLDB($host,$user,$password,$database)
{
$this->host = $host;
$this->user = $user;
$this->passwd = $password;
$this->database = $database;
$this->conn=mysql_connect($this->host, $this->user,$this->passwd) or die("Could not connect to $this->host");
mysql_select_db($this->database,$this->conn) or die("Could not switch to database $this->database");
mysql_query("set names 'gbk'");
}

//该函数用来关闭数据库连接
function Close()
{
    MySQL_close($this->conn);
}

//该函数实现数据库查询操作
function Query($queryStr)
{
   $res =Mysql_query($queryStr, $this->conn);
   return $res;
}

//该函数返回记录集
function getRows($res)
{
$rowno = 0;
$rowno = MySQL_num_rows($res);
if($rowno>0)
{
for($row=0;$row<$rowno;$row++ )
 {

$rows[$row]=MySQL_fetch_array($res);

//本来为MySQL_fetch_row,但是不能以数组的方式来提取,只能用索引

//这样可以用索引和名称,更为方便

 }

 return $rows;

  }

}

//该函数取回数据库记录数
function getRowsNum($res)
{
   $rowno = 0;
   $rowno = mysql_num_rows($res);
   return $rowno;
}

//该函数返回数据库表字段数
function getFieldsNum($res)
{
$fieldno = 0;
$fieldno = mysql_num_fields($res);
return $fieldno;

}

//该函数返回数据库表字段名称集
function getFields($res)
{
   $fno = $this->getFieldsNum($res);
   if($fno>0)
   {
 for($i=0;$i<$fno;$i++ )
 {
$fs[$i]=MySQL_field_name($res,$i);//取第i个字段的名称
 }
 return $fs;

   }

}




login_action.php

<?php
    session_start();
include('../config/config_db.php');
include('../class/db/class_db.php');





$username= $_POST["username"];
$password=$_POST["password"];
    
echo "username:".$username."--"."password:".$password."</br>";
    echo "db_host:".$db_host."--"."db_name:".$db_name."--"."db_pass:".$db_pass."--"."db_dabase:".$db_dabase."</br>";
$mysqldb=new MySQLDB($db_host,$db_name,$db_pass,$db_dabase);
    
$sql = "select username,password from loginuser where username='admin'";

   echo "sql:".$sql."</br>";
    $result = $mysqldb->Query($sql);//查询
 

    $rs = $mysqldb->getRows($result);//获得记录集

    $num = $mysqldb->getRowsNum($result);//获得记录数
    //$num=mysql_fetch_array($result);
 echo "num:".$num."</br>";
if($num>0){
//如果是 登陆

         for($i=0;$i<$num;$i++)
 {
   echo $rs['username'] . " " . $rs['password'];
    echo "<br />";
  }

$_SESSION['username']=$username;
        $_SESSION['password']=$password;

/*echo "<script>location.href='/jxc/index.php';</script>";*/
}else{
echo "登录错误";
}
?>






    for($i=0;$i<$num;$i++)
 {
   echo $rs['username'] . " " . $rs['password'];
    echo "<br />";
  }
   这里没有打印出任何内容

   
  $num为1
  本人新手 不知道怎么回事,请各位大侠帮看一下,  谢谢!
[解决办法]
$rs = $mysqldb->getRows($result);//获得记录集
得到的是二维数组
你需要
for($i=0;$i<$num;$i++) {
  echo $rs[$i]['username'] . " " . $rs[$i]['password'];
  echo "<br />";
}

热点排行