php 封装MySQL类怎么,不能执行sql语句query()

<?PHP

class mysql{
private $host;
private $user;
private $pwd;
private $dbname;
private $charset;

public $conn = null;//保存连接的资源

public function __construct(){
//应该是在构造方法里,读取配置文件
$this->host ='localhost';
$this->user = 'root';
$this->pwd = 'root';
$this->dbname = 'crm';
//连接
$this->connect($this->host,$this->user,$this->pwd);
//切换库
$this->switchdb($this->dbname);
//设置字符集
$this->setchar($this->charset);

}
//负责连接
private function connect($h,$u,$p){
$conn = mysql_connect($h,$u,$p);
$this->conn = $conn;

}
//负责切换库;
public function switchdb($db){
$sql = 'use'.$db;
$this->query($sql);

}
//负责设置字符集
public function setchar($char){
$sql = 'set names'.$char;
$this->query($sql);

}
//负责发送sql查询
public function query($sql){
return mysql_query($sql,$this->conn);
}
//负责获取多行多列的select结果
public function getall($sql){

}

}

$mysql = new mysql();
print_r($mysql);

$sql = "create table as";
var_dump($mysql->query($sql))

/* {
echo 'chenggong';
}else{
echo 'shib';
}
*/
?>

调试显示mysql Object ( [host:mysql:private] => localhost [user:mysql:private] => root [pwd:mysql:private] => root [dbname:mysql:private] => crm [charset:mysql:private] => [conn] => Resource id #3 ) bool(false),为什么连接数据库能连上,但是执行sql语句不行呢

看不懂你写的什么。给个现成的你

<?php
/**
 * Created by PhpStorm.
 * User: TAOYU
 * Date: 14-11-16
 * Time: 上午1:28
 */
class mysql
{
    protected $host;
    protected $user;
    protected $pwd;
    protected $port;
    protected $error;
    protected $db;
    protected $charset;
    protected $conn = null;
    public static $total;//获得总条数
    public static $pages;//总页数
    public static $pagesize;//每页显示条数
    public $act_page;//获取当前页码
    public $start;//开始条数

    //构造方法,初始化时连接数据库
    public function __construct($h = 'localhost', $u = 'root', $pwd = '123', $port = 3306)
    {
        $this->host = $h;
        $this->user = $u;
        $this->pwd = $pwd;
        $this->port = $port;
        $this->connect();
        $this->selectDb('bookboss');
        $this->setChar('utf8');
    }

    public function __destruct()
    {
        mysql_close();
    }

    //连接方法
    public function connect()
    {
        if ($this->conn = mysql_connect($this->host, $this->user, $this->pwd, $this->port)) {
            return true;
        } else {
            $this->error = "连接失败!";
            return false;
        }
    }

    //选库方法
    public function selectDb($dbName)
    {
        //use后要有空格!!!注意!!!
        $sql = "use " . $dbName;
        $this->db = $dbName;
        return $this->query($sql);
    }

    //设置字符集方法
    public function setChar($char)
    {
        //set names后要有空格!!!注意!!!
        $sql = "set names " . $char;
        return $this->query($sql);
    }

    //查询方法
    public function query($sql)
    {
        $rs = mysql_query($sql, $this->conn);
        if (!$rs) {
            /*$this->error=mysql_error($this->conn);
            $this->log($this->error);*/
            return false;
        } else {
            return $rs;
        }
    }

    //取指定数据
/*    public function getData($page,$pagesize=5)
    {
        $start=($page-1)*$pagesize;
        $rs = $this->query("select * from student limit $start,$pagesize");
        if (!$rs) {
            return false;
        } else {
            $list = array();
            while ($row = mysql_fetch_assoc($rs)) {
                $list[] = $row;
            }
            return $list;
        }
    }*/
    //取数据
    public function getAll($sql)
    {
        $rs = $this->query($sql);
        if (!$rs) {
            return false;
        } else {
            $list = array();
            while ($row = mysql_fetch_assoc($rs)) {
                $list[] = $row;
            }
            return $list;
        }
    }
//返回sql语句结果条数
    public function getNums($sql){
        return mysql_num_rows($this->query($sql));
    }
    //insert插入数据方法
    public function insert($sql)
    {

    }

    //读取错误方法
    public function getError()
    {
        return $this->error;
    }
    //记录日志方法
    /*    public function log($err){
            $time=date('Y-m-d H:i:s',time());
            if(file_exists("./log.txt")){
                $contents=file_get_contents("./log.txt");
                $contents.="$time\t".$err."\r\n";
                file_put_contents('./log.txt',$contents);
            }else{
                $filename='./log.txt';
                $str='';
                writefile($filename,$str);
                $contents=file_get_contents("./log.txt");
                $contents.="$time\t".$err."\r\n";
                file_put_contents('./log.txt',$contents);
            }

        }*/
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网