美文网首页php入门教程—打通前后端
php入门教程(七)操作升级!使用PDO操作数据库

php入门教程(七)操作升级!使用PDO操作数据库

作者: 党云龙 | 来源:发表于2019-10-17 09:52 被阅读0次

    php5中新增了PDO,他是一个数据库访问抽象层。你也可以理解为驱动程序。
    这个东西比mysqli的好处就是,mysqli只支持mysql,但是PDO支持目前市面上常见的大多数数据库。

    万一你做的项目从mysql换成了sql server或者oracle,那你要改的地方可就太多了。
    所以现在还是建议使用PD

    马上开整!


    这次咱们写高级点,把连接数据库那块的内容,写成一个公共的文件!

    <?php
        define("DB_HOST","127.0.0.1");//数据库地址
        define("DB_USER","root");//用户名
        define("DB_PWD","你的数据库密码");//密码
        define("DB_NAME","phptest");//要连接的数据库名称
        define("DB_PORT","3306");//数据库端口号
        define("DB_TYPE","mysql");//数据库类型
        define("DB_CHARSET","utf8");//设置字符集
        define("DB_DSN","mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
        //DSN 提供连接数据库需要的各种信息,相当于在连接数据库的时候,附加我们的各种信息.
        //举个例子,我们的数据库可能不在3306,在别的端口,或者字符集不是utf-8,我们就是通过这个发送出去的
    ?>
    

    然后是php中的写法:

    <?php
        require "config.php";
        //require和include的作用完全一样,但是require遇到错误会停止
        try{
            //try{}catch{} 用于处理操作,如果try中的语句遇到错误,就会自动进入catch中去运行
            //通过pdo语句连接数据库
            $pdo = new PDO(DB_DSN,DB_USER,DB_PWD);
        }catch(PDOException $e){
            //一旦出错 输出错误信息
            echo $e->getMessage();
        }
        $query = "select * from user";//拼出查询语句
        $result = $pdo->prepare($query);//把查询语句转化为一条pdo命令
        $result->execute();//把pdo命令传入查询方法 同es6写法
        
        //引入显示模板html
        include_once("query.html");
    
    查询数据库

    html中的写法和原来区别不大:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>已注册用户列表</title>
            <script src="https://cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>
            <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
            <style>
                .tableBox {
                    width: 600px;
                }
                .table {
                    background: #fff;
                }
            </style>
        </head>
        <body class="container bg-info">
            <div class="tableBox">
                <h3>已注册用户列表</h3>
                <table class="table table-bordered">
                  <thead>
                      <tr>
                          <td>id</td>
                          <td>邮箱</td>
                          <td>密码</td>
                          <td>电话</td>
                      </tr>
                  </thead>
                  <tbody>
                      <!--fetch() pod专用的写法 获取结果集 ::FETCH_ASSOC 数组形式-->
                      <?php while($rows = $result -> fetch(PDO::FETCH_ASSOC)) { ?>
                      <tr>
                          <td>
                                <?php echo $rows['id']?>
                          </td>
                          <td>
                              <?php echo $rows['email']?>
                          </td>
                          <td>
                              <?php echo $rows['password']?>
                          </td>
                          <td>
                              <?php echo $rows['tel']?>
                          </td>
                      </tr>
                      <?php } ?>
                  </tbody>
                </table>
            </div>
        </body>
    </html>
    

    相关文章

      网友评论

        本文标题:php入门教程(七)操作升级!使用PDO操作数据库

        本文链接:https://www.haomeiwen.com/subject/dccmmctx.html