zoukankan      html  css  js  c++  java
  • 数据访问

    1.步骤

    1.造连接对象

    1
    $db new MySQLi('localhost','','','');    //数据库服务器地址就是ip地址,本地的话也需要写对方ip地址,数据库用户名,数据库连接密码,操作的数据库名称,端口号默认端口号(一般不用),服务连接(一般也不用)

    例如:

    1
    $db new MySQLi("localhost","root","123","test1");    //连接到我的数据库 

    2.判断链接是否出错

    1
    2
    3
    4
    5
    if(mysqli_connect_error())
    {
      die("链接失败"); 
    }       //出错会返回值,没有错误就返回空,放在if中就可以来判断
    //可以不用写

    3.准备sql语句

    1
    $sql "select * from info";   //SQL的各种语句

    例如:

    1
    $sql="select * from student";   //查询我库中的学生表

    4.执行sql语句

    1
    2
    $result $db->query($sql);     //执行sql语句方法mysql::query 它需要的参数:连接,sql语句,返回数据的模式(一般不用)
    //失败是返回false,查询语句返回结果集对象result,增删改语句成功返回true失败返回false

    例如:

    1
    $result $db->query($sql);    //执行上面的查询语句

    返回结果就是没有值,那就是正确的  

    5.从结果集中取数据:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $attr $result->fetch_all(); //这个方法不能随便使用,特别是放在服务器上时,默认的返回所有数据并且是以索引的二维数组方式存在。。它需要的参数:result结果集,resulttype结果类型
    //结果类型有这几种:(MYAQLI_ASSOC返回的是关联数组;MYAQLI_NUM返回索引数组;MYAQLI_BOTH返回的是既有索引又有关联的数组)使用时不需要加双引号,直接用就可以
     
    fetch_array();   //返回只包含一条数据,返回的是一维数组,但不是全部而是当前一条数据,索引和关联都有的数组,执行第二遍是返回的下一条数据,也就是第二条数据
    //参数:(MYAQLI_ASSOC返回的是关联数组;MYAQLI_NUM返回索引数组;MYAQLI_BOTH返回的是既有索引又有关联的数组)使用时不需要加双引号,直接用就可以
     
    fetch_assoc();   //返回的当前一条数据并且是一维的关联数组
     
    fetch_object();   //也是返回当前数据,返回的是数据对象:列名和值:第一次调用是返回的第一个数据对象,再一次是第二个数据对象,
     
    fetch_row();   //返回当前这条数据,返回的是索引数组

    例如:(1) 

    1
    $sql="select * from student";  //sql语句<br>$result = $db->qurey($sql);   //执行sql语句<br>$attr = $result->fetch_all();  //返回的是二维数组的索引数组<br>var_dump($attr);

    (2)

    1
    $attr $result->fetch_array();   //返回的是一维数组,而且是当前的一条数据,在执行一遍就是下一条数据,默认是索引和关联都有

        

    (3)

    1
    $attr $result->fetch_assoc();    //也是返回当前的一条数据,一维的关联数组,执行第二次也是下一条数据

         

    (4)

    1
    $attr $result->fetch_object();   //返回的是当前数据的对象,列和值,也是执行下一次就是下一条数据对象

        

    (5)

    1
    $attr $result->fetch_row();  //返回的索引数组,也是当前的一条数据

        

    想要显示表中的整个内容:这些方法具体怎么用:用all方法的时候可以用foreach循环遍历,如果只是显示一条数据的方法可以用while来循环 

    1
    2
    3
    4
    5
    $attr $result->fetch_all();
    foreach($attr as $v)
    {
      echo "<div>{$v[0]}--{$v[1]}--{$v[2]}--{$v[3]}--{$v[4]}</div>";   
    }
    1
    2
    3
    4
    while($attr $result->fetch_row())
    {
      echo "<div>{$attr[0]}--{$attr[1]}--{$attr[2]}--{$attr[3]}--{$attr[4]}</div>";
    }

    这两个方法的结果都是一样的,不一样的是针对方法不同,所使用的循环不一样

    另外要注意的是:

    1.无论查的结果是什么,就会返回二维数组

    1
    2
    3
    4
    $sql "select cno from course where cno='3-105'";
    $result $db->query($sql);
    $attr $result->fetch_all();
    var_dump($attr);

    2.增删改的语句,返回的结果是false和true(成功是true,否则就是false)

    1
    2
    3
    $sql "insert into student values('3-107','数学','567','329','23y9')";  
    $result $db->query($sql);
    var_dump($result);

    这就是添加成功了~~~如果在执行一次那就是不行了,因为数据库的这个表中已经有了这个数据,所以是false

  • 相关阅读:
    基于visual Studio2013解决C语言竞赛题之1074八皇后
    Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB
    RFID系统的选择
    java中复制文本文件
    java中复制文本文件
    数据筛选和排序
    实现Windows程序的数据绑定
    实现Windows程序的数据更新
    使用ListView控件展示数据
    构建良好的windows程序
  • 原文地址:https://www.cnblogs.com/zhangkeyu/p/6665661.html
Copyright © 2011-2022 走看看