php+mysql 面向对象 增删改查

yansog 2014-12-13 11:11:43
新手一枚,求指导。
<?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();
?>



获取不到我的资源,找不到问题在哪。
...全文
2138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostwuboy 2014-12-14
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
没有执行 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();
xuzuning 2014-12-14
  • 打赏
  • 举报
回复
没有执行 Connect 方法 没有执行 myquery 方法 myselect 方法返回的是资源
傲雪星枫 2014-12-13
  • 打赏
  • 举报
回复
if(is_array($result)){ 这句判断有问题。 $result应是resource,而不是array 你可以var_dump(is_array($result)); 是boolean false的。 改为:if($db->myrows($result)>0){

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧