Heim > Artikel > Backend-Entwicklung > 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");
<center><table cellpadding="18"> <tr> <th>id</th> <th>name</th> <th>sex</th> <th>phone</th> </tr><?php include_once "mysql_class.php"; $result = $db->myselect("users"); if(is_array($result)){ while($row=$db->myarray($result)){?> <tr> <td width="8%" align="center"> <?php echo $row['id'] ?></td> <td width="18%" align="center"><?php echo $row['name'] ?></td> <td width="8%" align="center"> <?php echo $row['sex'] ?></td> <td width="18%" align="center"><?php echo $row['phone'] ?></td> <td> <a href="modify.php? id = <?php echo $row['id'] ?>& name = <?php echo $row['name']?>& sex = <?php echo $row['sex'] ?>& phone= <?php echo $row['phone'] ?>"> 修改</a> <!-- ?什么意思 为GET传输方式--> <a href="delete.php? id = <?php echo $row['id'] ?>"> 删除</a> </td> </tr></table></center><?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();<center><table cellpadding="18"> <tr> <th>id</th> <th>name</th> <th>sex</th> <th>phone</th> </tr><?php include_once "mysql_class.php"; $result = $db->myselect("users"); while($row=$db->myarray($result)){?> <tr> <td width="8%" align="center"> <?php echo $row['id'] ?></td> <td width="18%" align="center"><?php echo $row['name'] ?></td> <td width="8%" align="center"> <?php echo $row['sex'] ?></td> <td width="18%" align="center"><?php echo $row['phone'] ?></td> <td> <a href="modify.php? id = <?php echo $row['id'] ?>& name = <?php echo $row['name']?>& sex = <?php echo $row['sex'] ?>& phone= <?php echo $row['phone'] ?>"> 修改</a> <!-- ?什么意思 为GET传输方式--> <a href="delete.php? id = <?php echo $row['id'] ?>"> 删除</a> </td> </tr></table></center><?php } mysql_close();