热搜:NVER node 开发 php

php+mysql 面向对象 增删改查

2024-08-15 19:45:02
php+mysql 面向对象 增删改查

新手一枚,求指导。

<?php//   Mysql_class.phpclass Mysql{    private $localhost;    private $root;    private $password;	public  $database;     public function __construct($localhost,$root,$password,$database){			//让下面的方式中,若要用到$localhost 变量		$this->localhost = $localhost;											//就用$this->localhost 代替。 		$this->root 	 = $root;		$this->password  = $password;		$this->database  = $database;    }		public function Connect(){		mysql_connect	($this->localhost,$this-root,$this->password);		mysql_select_db ($this->database);		mysql_query 	("set names utf8");	}		public function Close(){		mysql_close();	}			public function myarray($result){					//形参		return mysql_fetch_array($result);	}		public function myquery($sql){		return @mysql_query($sql);	}		public function myrows($result){		return mysql_num_rows($result);	}			public function myselect($users){		return $this->myquery("select * from $users");	}}$db = new Mysql("localhost","root","","stu_system");


<?php include_once "mysql_class.php"; $result = $db->myselect("users"); if(is_array($result)){ while($row=$db->myarray($result)){?>
id name sex phone
<?php echo $row['id'] ?> <?php echo $row['name'] ?> <?php echo $row['sex'] ?> <?php echo $row['phone'] ?> & name = <?php echo $row['name']?>& sex = <?php echo $row['sex'] ?>& phone= <?php echo $row['phone'] ?>"> 修改 "> 删除
<?php } } else echo"no result"; mysql_close();?>



获取不到我的资源,找不到问题在哪。


回复讨论(解决方案)

if(is_array($result)){ 这句判断有问题。

$result应是resource,而不是array
你可以var_dump(is_array($result)); 是boolean false的。

改为: if($db->myrows($result)>0){

没有执行 Connect 方法
没有执行 myquery 方法

myselect 方法返回的是资源

没有执行 Connect 方法
没有执行 myquery 方法

myselect 方法返回的是资源


同上

<?phpclass Mysql{    private $localhost;    private $root;    private $password;    public  $database;    private $link;    private $res;      public function __construct($localhost,$root,$password,$database){            //让下面的方式中,若要用到$localhost 变量        $this->localhost = $localhost;                                            //就用$this->localhost 代替。         $this->root      = $root;        $this->password  = $password;        $this->database  = $database;            }         public function Connect(){        $this->link = mysql_connect($this->localhost, $this->root, $this->password);        mysql_select_db ($this->database, $this->link );        mysql_query     ("set names utf8");    }         public function Close(){        mysql_close();    }              public function myarray($result){                    //形参        return mysql_fetch_array($result);    }         public function myquery($sql){        $this->res = mysql_query($sql) or die (mysql_error());        return $this->res;    }         public function myrows($result){        return mysql_num_rows($result);    }              public function myselect($users){        return $this->myquery("select * from $users");    }} $db = new Mysql("localhost","root","","stu_system");$db->Connect();
<?php include_once "mysql_class.php"; $result = $db->myselect("users"); while($row=$db->myarray($result)){?>
id name sex phone
<?php echo $row['id'] ?> <?php echo $row['name'] ?> <?php echo $row['sex'] ?> <?php echo $row['phone'] ?> & name = <?php echo $row['name']?>& sex = <?php echo $row['sex'] ?>& phone= <?php echo $row['phone'] ?>"> 修改 "> 删除
<?php } mysql_close();