• php学习之数据访问


    //造连接对象

    $db = new MYSQLi("localhost","root","123","mydb");              //MYSQLi为类名,括号内为参数,第二个参数是root,

    第三个是密码,第四个是要连接的数据库的名称。

    //写SQL语句

    $SQL = "select * form info";        //写一条SQL语句查询info表内的内容

    //执行SQL语句,返回结果集对象

    $result = $db->query($sql);        //运用连接对象db调用query方法来执行写好的SQL语句,已经写好的SQl语句把它当做变量来执行一下,执行完

    会返回结果集对象。用一个变量$result来接收一下,那么这个$result就是个结果集对象了。结果就在$result里面存着了。

    //取数据                    //用fetch_all()方法取到的是表里面的所有的值

    //$arr = $result->fetch_all(MYSQLI_BOth)      //用$result结果集对象来调用一下fetch_all()方法

    //all()后面默认是MYSQLI_NUM的参数,代表数字的意思返回的数组下标索引是索引也就是数字。

    //若all()后面的参数为MYSQLI_ASSOC这个参数返回为把原来的数字索引数组变为关联数组,会显示列名。

    //若all()后面的参数为MYSQLI_BOTH这个参数返回为数组里面既有索引的也有关联的。

    //查询所有数据返回所有数据fetch_all()需要额外的配置,有的支持有的不支持。  慎用

    //$arr = $result->fetch_array();//fetch_array()方法默认返回一条数据。返回了一条一维数组,只包含一条数据也就是第一条数据。既有关联也有索引

    while($arr = $result->fetch_array())     //运用while循环来遍历数组。 因为fetch_array()执行一次输出一条。

    {

      var_dump($arr);

    }

    $arr = $result->fetch_assoc();     //也是每次返回一条数据,返回的是关联数组。也可以用while循环挨条读。

    var_dump($arr);

    $arr = $result->fetch_object();     //每执行一次返回一个对象   也可用while循环。 

    var_dump($arr);

    $arr = $result->fetch_row();    //每次读一条,返回一个索引数组。

    var_dump($arr);

    常用fetch_all(); 和 fetch_row();  一般用后者的时候运用while循环遍历出所有数据。

    $db = new MYSQL("localhost","root","123","mydb");

    $sql = "delete from info where code='n011' ";

    $result = $db->query($sql);

    var_dump($result);

    //如果执行增删改语句,成功返回true,失败返回false

    $result = $db->query($sql);       //执行SQL语句,返回结果集对象

    //var_dump($result->num_rows);    //它可以显示数据的长度,可以用它来判断一下这个结果集里面有没有数据。

    if($result->num_rows>0)          //运用if语句判断一下这个结果集里面有没有数据

    {                    //判断一下如果大于0就代表里面有数据。如果小于0就说明这个结果集里面没有数据。就可以不用读了

    }          //括号内也可以不用写大于零。 括号内的结果要么是0要么是1.2.3...,只要是0就是false就代表没有数据,是1.2.3...就代表true               //弱类型语言的特点:判断里面如果是0或者空值就代表false,判断里面如果是大于0的整数则就代表true

    //所以我们可以使用它来作为一个条件,到底查到的结果里面有没有数据,如果有数据的话就来读,如果没有数据的话不判断就去读可能会报错。所以加个判断

    //如果报错的里面包含读数据的方法如fetch_all() 或者fetch_row()再或者是fetch_assoc()等读数据获取数据的方法的错误的话就代表你的SQL语句

    写错了。解决办法:我们可以命令echo $SQL;把这条SQL语句输出一下。看到这个语句复制,拿到数据库的查询里面粘贴执行它就会给你报错。

    从数据库的表中读取数据显示

    1.

    <?php

    echo "<select>";

    $db = new MYSQLi("localhost","root","123","t_90052");

    $sql = "select * from 7f";

    $result = $db->query($sql);

    $arr = $result->fetch_all();

    foreach($arr as $v)

    {

      echo "<option value='{$v[0]}'>{$v[1]}</option>";

    }

    echo "</select>";

    ?>

    2.

    <body>

    <select>

    <option>请选择</option>

    <?php

    $db = new MYSQLi("localhost","root","123","mydb");

    $sql = "select * from nation";

    $result = $db->query($sql);

    while($arr = $result->fetch_row())

    {

      echo "<option value='{$arr[0]}'>{$arr[1]}</option>";

    }

    ?>

    </select>

    <body>

    //在下拉列表里面设置一个默认的"请选择"选项。在2里面添加<option>请选择</option>

    //第一种方法是所有的代码全在php里面输出

    //第二种是先在页面上搭好html代码,然后哪个位置需要使用从数据库里读数据,哪个位置就嵌入php代码

  • 相关阅读:
    用友U8 | 【存货管理】提示用户***正在记账,不允许并发。
    用友U8 | 怎么准确查找【采购入库单】、【采购发票】,对应的凭证号?
    用友U8 | 中途启用序列号管理,该怎么操作?
    Excel:提取身份证号中的性别
    给jupyter 添加代码自动补全功能
    SQL函数之:截断字符串
    解决Maven子项目提示 ‘parent.relativePath‘ of POM
    公共NTP资源汇总
    iperf3的使用
    ZeroTier的使用
  • 原文地址:https://www.cnblogs.com/shandayuan/p/6924415.html
Copyright © 2020-2023  润新知