zoukankan      html  css  js  c++  java
  • PHP使用mysqli类库操作mysql数据库

    1、连接数据库

    使用mysqli的构造方法实现数据库连接:

    面向对象风格

    mysqli::__construct ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )
    $host = '127.0.0.1';            //MySQL服务器地址
    $username = 'root';                //用户名
    $passwd = 'chz';                //密码
    $dbname = 'demo';                //数据库名称
    
    $link = @new mysqli($host, $username, $passwd, $dbname);
    if ($link->connect_error) {
        die('Connect Error (' . $link->connect_errno . ') ' . $link->connect_error);
    }else{
        echo 'Success... ' . $link->host_info . '<br>';
    }
    $link->close();  //关闭数据库连接

    过程化风格

    mysqli mysqli_connect ($host , $username, $passwd , $dbname , $port, $socket )
    $link = @mysqli_connect($host, $username, $passwd, $dbname) or die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
    echo 'Success... ' . mysqli_get_host_info($link) . '<br>';
    mysqli_close($link);

    mysqli::select_db -- mysqli_select_db — 选择用于数据库查询的默认数据库,可用于切换数据库,也可用于替代mysqli_connect()第四个参数

    //面向对象风格
    $link->select_db($dbname) or die('数据库选择失败!');
    //过程化风格
    mysqli_select_db($link, $dbname) or die('数据库选择失败!');

    2、执行SQL代码

    所有sql代码都放在query函数中执行。

    面向对象风格

    mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

    过程化风格

    mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )
    $sql = "set names utf8"         //设置字符集
    $res = $link->query($sql);           //面向对象风格
    $res = mysqli_query($link,$sql);     //过程化风格

    2.1、数据库读操作

    query函数读成功会返回一个存储结果的mysqli_result对象,失败则返回false

    mysqli_result对象内容获取:

    • mysqli_result::fetch_all — Fetches all result rows as an associative array, a numeric array, or both
      • mixed mysqli_result::fetch_all ([ int $resulttype = MYSQLI_NUM ] ) 从结果集中获取所有结果
      • $resulttype 取值为MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH 时分别返回一个关联数组、索引数组或两者混合成一个数组一起返回
    • mysqli_result::fetch_array — Fetch a result row as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc — Fetch a result row as an associative array
    • mysqli_result::fetch_object — Returns the current row of a result set as an object
    • mysqli_result::fetch_row — Get a result row as an enumerated array
    function sql_query($sql,$all = false){
        $res = $this->link->query($sql);
        if(!$res){
            die('查询失败!');
        }
        if($all){  //获取所有结果
            return $res->fetch_all(MYSQLI_ASSOC);
        }else{    //获取一条结果
            return $res->fetch_assoc();
        }
    }

    以上函数都有对应的过程化风格,加上mysqli_前缀,且第一个参数是mysqli_result对象

    此外也可以通过foreach循环得到结果,但这种做法似乎不太受推荐

    2.2、数据库写操作

    query函数写成功会返回true,失败则返回false,此外可以在mysqli对象里获取受影响行数等信息

     3、未完待续

  • 相关阅读:
    [转]对Lucene PhraseQuery的slop的理解
    Best jQuery Plugins of 2010
    15 jQuery Plugins To Create A User Friendly Tooltip
    Lucene:基于Java的全文检索引擎简介
    9 Powerful jQuery File Upload Plugins
    Coding Best Practices Using DateTime in the .NET Framework
    Best Image Croppers ready to use for web developers
    28 jQuery Zoom Plugins Creating Stunning Image Effect
    VS2005 + VSS2005 实现团队开发、源代码管理、版本控制(转)
    禁止状态栏显示超链
  • 原文地址:https://www.cnblogs.com/chuanzi/p/10389461.html
Copyright © 2011-2022 走看看