zoukankan      html  css  js  c++  java
  • PHP连接数据库

    今天学习了在PHP中访问数据库,主要有两种方法:

    //方式一:已经过时
    //1.造一个连接(建立通道)
    $db = mysql_connect("localhost","root","");
    //2.选择要操作那个数据库
    mysql_select_db("mydb",$db);
    //3.写sql语句
    $sql="select * from Info";
    //4.执行sql语句,返回结果集
    $result = mysql_query($sql);
    //5.从结果集中取数据(取一行数据)
    $row = mysql_fetch_row($result);
    //都取出来用while循环
    while($row = mysql_fetch_row($result))
    {
        
    }

    //方式二:面向对象的方式
    //1.造一个连接对象
    $db = new MySQLi("localhost","root","密码","mydb");
    //2.判断连接是否出错
    //判断方法一:
    if(mysqli_connect_error())
    {
        exit();
    }
    //判断方法二:
    !mysqli_connect_error() or die("连接失败!");
    
    //3.写SQL语句
    $sql = "select * from Info";//若SQL语句为增删改,则不用取其中的数据,直接查看$result的值即可,执行成功返回true,失败返回false
    //4.执行SQL语句,执行成功返回结果集对象;执行失败,返回false
    $result = $db->query($sql);
    //5.从结果集中读取数据
    //读取方式一:
    if($result)
    {
        var_dump($result->fetch_row());   //返回一行数据的数组(索引数组)
        while($row = $result->fetch_row())  //返回所有数据
        {
            var_dump($row);
        }
    }
    //读取方式二:
    if($result)
    {
        var_dump($result->fetch_assoc());//返回一行数据的数组(关联数组)
    }
    //读取方式三:
    if($result)
    {
        var_dump($result->fetch_all());//返回所有数据的二维数组
    }
    //读取方式四:
    if($result)
    {
        var_dump($result->fetch_object());//返回一行数据(对象)
    }

    例子1:把Nation表显示在一个下拉列表里

    //1.造链接对象
    $db = new MySQLi("localhost","root","","mydb");
    //2.判断是否出错
    !mysqli_connect_error() or die("连接失败!");
    //3.写SQL语句
    $sql="select * from Nation";
    //4.执行SQL语句
    $result = $db->query($sql);
    //5.取数据
    if($result)
    {
        $attr = $result->fetch_all();
        echo "<select>";
        foreach($attr as $v)
        {
            echo "<option value='{$v[0]}'>{$v[1]}</option>";
        }
        echo "</select>";
    }

    例子2:把Info表查出来,用表格的形式显示出来

    $db = new MySQLi("localhost","root","","mydb");
    !mysqli_connect_error() or die ("连接失败!");
    $sql="select * from Info,Nation where Info.Nation=Nation.Code";
    $result = $db->query($sql);
    if($result)
    {
        $attr = $result->fetch_all();
        //var_dump($attr);
        echo "<table border='1' cellpadding='0' cellspacing='0' align='center' width='100%'>";
        echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>国籍</td><td>出生年月</td></tr>";
        foreach($attr as $v)
        {
            echo "<tr><td>{$v[0]}</td><td>{$v[1]}</td><td>{$v[2]}</td><td>{$v[6]}</td><td>{$v[4]}</td></tr>";
        } 
        echo "</table>";
    }
  • 相关阅读:
    面向对象中一些容易混淆的概念
    day12作业
    day10作业
    day09作业
    Where与Having的区别
    排序算法之快速排序
    排序算法之冒泡排序
    jQuery中的100个技巧
    用node.js给图片加水印
    代码高亮美化插件-----SyntaxHighlighter
  • 原文地址:https://www.cnblogs.com/Itwonderful/p/5454752.html
Copyright © 2011-2022 走看看