当前位置: 代码迷 >> PHP >> php+mysql 面向对象 增删改查,该如何解决
  详细解决方案

php+mysql 面向对象 增删改查,该如何解决

热度:676   发布时间:2016-04-28 18:07:28.0
php+mysql 面向对象 增删改查
新手一枚,求指导。
<?php
//   Mysql_class.php
class 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();
?>



获取不到我的资源,找不到问题在哪。
------解决思路----------------------
没有执行 Connect 方法
没有执行 myquery 方法

myselect 方法返回的是资源
------解决思路----------------------
引用:
没有执行 Connect 方法
没有执行 myquery 方法

myselect 方法返回的是资源

同上


<?php
class 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();
  相关解决方案