php数据库使用

2016-11-09  本文已影响63人  FredYJH

三种方式操作mysql数据库:

1、mysql扩展库
2、mysqli 扩展库
3、pdo

3.1 启用mysql扩展库
在php.ini文件中配置,extension=hph_mysql.dll

<?php
// 1、获取链接
$conn = mysql_connect("127.0.0.1","root","root");
if (!$conn) {
    die("链接失败".mysql_error());
}
// 2、选择数据库
mysql_select_db("test");
// 3、设置操作编码(可以有)
mysql_query("set names utf8");
// 4、发送指令
$sql = "select *from user";
$res = mysql_query($sql,$conn);
var_dump($res);
// 5、接受返回的结果、并处理
while ($row=mysql_fetch_row($res)) {
    # code...
    foreach ($row as $key => $value) {
        echo "---$value";
    }
}
// 6、释放资源,关闭链接
mysql_free_result($res);
mysql_close($conn);// 可以有
?>
<!-- 1.使用完$res要自动释放资源
 2.取到资源后,关闭链接没有影响。
 3.mysql_fetch_row函数,先自增,在去数据(也就是去下一行的数    据)
-->
<!--
四种取资源的函数:
1、mysql_fetch_row 返回索引数组 整行数据取出
2、mysql_fetch_assoc 返回关联数组(字段作为key)
3、mysql_fetch_array 返回索引数组和关联数组(两个)
4、mysql_fetch_object 返回对象
-->
<?php
// 1.创建mysqli对象
$mysqli = new MySQLi("localhost","root","root","test");
//验证是否连接
if($mysqli->connect_error){
    die("链接失败".$mysqli->connect_error);
}
// 2.操作数据库
$sql = "select *from user1";
//返回结果
$res = $mysqli->query($sql);
//3.处理结果
while($row=$res->fetch_row()){
      foreach($row as $key=>$val){
          ech "$val--";
}
// 4.关闭资源
$res->free(); // 释放内存
$mysqli->close();//关闭链接
?>

注意事项:如果操作的字段类型是String类型,则要求我们要用单引号括起来,如果操作字段是值类型,则不要求用单引号。

<?php
class SqlHelper{
    private $mysqli;
    private static $host="";
    private static $user="";
    private static $pwd="";
    private static $db="";

    public function __construct(){
        &this->mysqli=new MySQLi(self::$host,self::$user,self::$pwd,self::$db);
        if($this->mysqli->connect_error){
            die("错误".$this->mysqli->connect_error);
            $this->mysqli->query("set names utf8");
        }
    }

    public function execute_dql($sql) {
        $res=$this->mysqli->query($sql) or die("操作dql").$this->mysql->error);
        return $res;
    }
    public function execute_dml($sql) {
        $res=$this->mysqli->query($sql) or die("操作dql").$this->mysql->error);

        if (!$res) {
            return 0;//表示失败
        } else {
            if($this->mysqli->affected_rows>0){
                        return 1;//表示成功
                    }else {
                    return 2;// 表示没有行受到影响   
                    }
        }
    }

}
?>
上一篇 下一篇

猜你喜欢

热点阅读