例如 :
第一个文件:文件名为:Department.php
<?php
class Department
{
private $department;
public function getDepartment()
{
return $this->department;
}
public function setDepartment($department)
{
$this->department=$department;
}
}
?>
第二个文件:
<?php
define('ROOT_PATH',dirname(dirname(__FILE__)));
include (ROOT_PATH."/Common/class.DBConnect.php");
include (ROOT_PATH."/Class/class.Department.php");
class Select
{
public function selectDepartment()
{
$sql="select * from YX_Department";
$DBObject= new DBConnect();
$result=$DBObject->DBControl($sql);
$DepartObject= new Department();
while ($row=mysql_fetch_array($result))
{
$DepartObject->setDepartment($row[0]);
}
}
}
?>
我想把数据库里面读出来的数据循环存储到 Department的对象数组中,方便再其他地方调用,请问while里面应该怎么写呢。
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其实无所谓追问
那获取值的时候该怎么写呢。如何判断数组长度呀。。
追答获取值你用同一个$DepartObject对象(注意,我说的是同一个对象,不明白继续问我)
调用getDepartment这个方法(这些代码是你自己写的么?)
$DepartObject->getDepartment();
照你这样的写法
估计得用全局变量
$GLOBALS["DepartObject"]->getDepartment();
这样的写法才能在其他的地方使用。。
数组长度用count,不知道怎么用去查php使用手册吧
我已经解决掉了,谢谢你啦, 虽然不是用你的方法,但是你多少还是给了我点提示。。谢谢啊
不过我 在改用PDO 链接数据库 提示:
SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database 'njyxcompany'
用户名已经是ROOT了
而且链接别的库都是可以的 就是这个库有点问题,请问怎么弄呢 拜托啦 我真的很急
是root不代表就是最高权限,可能这个库把你的root账号限制了权限
追问我实在找不到问题了 一气之下 在数据库中的everyone中添加了所有权限 这下到是可以用了!!
追答很明显,权限不足么,呵呵
while ($row=mysql_fetch_array($result))
{
$d= new Department();
$d->setDepartment($row[0]);
$a[]=$d;
}本回答被提问者采纳