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

  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1036. Boys vs Girls (25)
    1035 Password (20)
    1027 Colors in Mars (20)
    1009. Product of Polynomials (25)
    1006. Sign In and Sign Out
    1005 Spell It Right (20)
    1046 Shortest Distance (20)
    ViewPager页面滑动,滑动到最后一页,再往后滑动则执行一个事件
    IIS7.0上传文件限制的解决方法
  • 原文地址:https://www.cnblogs.com/zhangkeyu/p/6665661.html
Copyright © 2011-2022 走看看