zoukankan      html  css  js  c++  java
  • php原生方法连接mysql数据库

    三种方式

    mysql扩展

    mysqli扩展

    pdo_mysql扩展

    查询本地环境安装了那些扩展

    php -m 

    mysql扩展连接数据库方法

    <?php
    //利用mysql扩展库连接数据库
    //获取链接
    $conn=mysql_connect("localhost","root","955219");
    if(!$conn)
    {
    //显示错误信息
    die("连接数据库失败".mysql_error());
    }
    else
    {
    echo "成功<br/>";
    }
    //选择数据库
    mysql_select_db("practice");
    //设置字符集
    mysql_query("set name utf8");
    //发送sql语句
    $sql="select * from user";
    $res=mysql_query($sql,$conn);
    //接收结果并处理
    var_dump($res);
    // mysql_free_result($res);
    mysql_close($conn);
    while($row=mysql_fetch_row($res))
    {
    echo "<br/>";
    var_dump($row);
    echo "<br/>";
    // echo "$row[0]------$row[1]------$row[2]";
    foreach ($row as $key=>$val)
    {
    echo "------$val";
    }
    }
    //释放链接,关闭资源
    //释放结果集
    mysql_free_result($res);
    //关闭连接(这句话可以没有,没有什么用,写这句话之后链接也不是马上关闭的)
    //mysql_close($conn);
    ?>

    mysqli扩展连接数据库方法

    连接数据库服务器

    1)资源 mysqli_connect(服务器地址,用户名,密码)

     
     

    补充:mysqli_connect默认对一个服务器只连接一次

    设置连接编码

    1)形式1:mysqli_query($link,''set  names xxx'')

    mysqli_query(connection,query,resultmode);

     
    返回true

    2) 形式2:mysqli_set_charset($link,"utf8");

     
     

    3)怎么确定用哪种?

    客户端当前执行脚本的界面是什么字符集,就设定成什么字符集

    选定要使用的数据库

    1)多用)形式1:mysqli_query($link,''xxxxx'')

     
     

    2)形式2:mysqli_select_db($link,''xxxx'')

    关闭连接

    主动释放链接:MySQL服务器的链接资源是有限的,不用了需要释放(脚本执行结束系统也会自动释放)

    1)mysqli_close($link)

     
     

    执行增删改操作

    mysqli_query函数返回true或者false,原因有二:1sql指令本身错误,2执行失败

     
     

    做个专门负责数据库初始化的脚本:之后要操作数据库包含该脚本即可

     
     

    1,2,3)mysqli_query($link,''inset /delect/update.......'');

     
     
     
     

    执行查询操作

    成功返回结果集:sql指令没有错误,但如果查询结果本身为空返回也是true;失败为false:sql指令有错误

     
    成功返回
     
     

    获得结果集行数

    1)mysqli_num_rows()

     
     

    解析结果集

    1)mysqli_fetch_assoc():获取关联数组,表的表单名字作为数组下标,元素值作为数组元素值

     
     

    2)mysqli_fetch_row():获取索引数组,只获取数绝对值,数组下标从0开始

     
    指针下移了

    3)mysqli_fetch_array():获取关联或者索引数组,一个记录取两次,一组是关联数字,一组是索引数组,但是可以通过第二个参数决定获取方式;

    MYSQLI_ASSOC:只获取关联数组

    MYSQLI_NUM:只获取索引数组

    MYSQLI_BOTH:获取全部

     
     

    结果集通常操作:获取所有



    pdo连接mysql
    <?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
        foreach($dbh->query('SELECT * from FOO') as $row) {
            print_r($row);
        }
        $dbh = null;
    } catch (PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }
    ?>
  • 相关阅读:
    REST接口设计规范总结
    Linux 下建立 Git 与 GitHub 的连接
    Linux centos修改防火墙为iptables
    一些开源软件的国内镜像源
    centOS7下安装GUI图形界面
    mysql使用锁的分析
    php后台添加默认图片
    php执行时间
    递归获取所有分类下面子分类的id
    php laravel左连接leftJoin多条where语句
  • 原文地址:https://www.cnblogs.com/kevin-yang123/p/12628181.html
Copyright © 2011-2022 走看看