• PDO对数据库的操作


    1这是向数据库插入数据的方法,代码如下:

    <?php
    header("content-type:text/html;charset=utf-8");
    try{
    
    $pdo= new PDO("mysql:host=localhost;dbname=pdotest;port=3306;charset:utf-8",'root','***');
        $statement= $pdo->prepare(
            "insert into test(title,content)values (:title,:content);"
        );
        $date=[
            'title'=>"阿飞正传",
            'content'=>"这是一部非常好看的电影,张国荣演的,我本人是非常的喜欢!!推荐给大家!"
    
        ];
    
    
       /* $title="阿飞正传";
        $content="这是一部非常好看的电影,张国荣演的,我本人是非常的喜欢!!推荐给大家!";
        $statement->bindParam(1,$title);
         $statement->bindParam(2,$content);
    */
        /*
         * $bingParam函数的第一个参数是对应insert into mine(title,content)values (?,?)中问号的位置
         * 如果是1 的话,代表插入的的内容是第一个问号
         *
         * */
    
        $statement->execute($date);
    
    
    
    }catch (PDOException  $e){
    
    echo   $e->getMessage();
    
    }
    echo "<br>PDO是否关闭自动提交功能:". $pdo->getAttribute(PDO::ATTR_AUTOCOMMIT);
    echo "<br>当前PDO的错误处理的模式:". $pdo->getAttribute(PDO::ATTR_ERRMODE);
    echo "<br>表字段字符的大小写转换: ". $pdo->getAttribute(PDO::ATTR_CASE);
    echo "<br>与连接状态相关特有信息: ". $pdo->getAttribute(PDO::ATTR_CONNECTION_STATUS);
    echo "<br>空字符串转换为SQL的null:". $pdo->getAttribute(PDO::ATTR_ORACLE_NULLS);
    echo "<br>应用程序提前获取数据大小:".$pdo->getAttribute(PDO::ATTR_PERSISTENT);
    echo "<br>与数据库特有的服务器信息:".$pdo->getAttribute(PDO::ATTR_SERVER_INFO);
    echo "<br>数据库服务器版本号信息:". $pdo->getAttribute(PDO::ATTR_SERVER_VERSION);
    echo "<br>数据库客户端版本号信息:". $pdo->getAttribute(PDO::ATTR_CLIENT_VERSION);

    2.这是从数据库中查询数据的代码如下:

    <?php
    header("content-type:text/html;charset=utf-8");
    $pdo= new PDO("mysql:host=localhost;dbname=pdotest;port=3306;charset:utf-8",'root','******');
    $statement=$pdo->query(
        "select * from test"
    );
    foreach($statement  as $v){
        echo "<pre>";
    print_r($v);
    echo  "</pre>";
    }

     3.在写进数据库的时候出现了乱码,原因是数据库的字符集错误,后来用命令行创建解决了问题

    4。解决pdo查询数据,且在页面中显示的时候,不出现乱码的解决方案

    1. PHP页面设置:

    $pdo->query('set names utf8;');

    2. 检查数据表的编码格式,默认的不是utf8,再建立表时需要指定表的编码格式,如已经表已经存在了,那么可以通过语句修改表的编码方式,如下 :

    alter table 表名 convert to character set utf8;

    删除原有乱码,再次插入一条中文数据,

    $rs = $pdo->query("select * from _t");
    while ($row=$rs->fetch()){
    print_r($row);
    }

    发现显示正常~

    注意:所有的数据库语句中,在最后一定要执行  excute()执行函数;

  • 相关阅读:
    HCIA_R&S-学习_Day05(PPPoE、DHCP、ACL、NAT)
    HCIA_R&S-学习_Day04(链路状态协议OSPF & PPP)
    HCIA_R&S-学习_Day03(路由协议基础与实现)
    【详谈 Delta Lake 】系列技术专题 之 湖仓一体( Lakehouse )
    工作7年,我的10条经验总结
    Hologres揭秘:优化COPY,批量导入性能提升5倍+
    谈谈JVM内部锁升级过程
    如何帮用户管好云账本?阿里云数据库助力收钱吧 | 甲子光年
    重磅 | 数据库自治服务DAS论文入选全球顶会SIGMOD,领航“数据库自动驾驶”新时代
    同程旅行基于 RocketMQ 高可用架构实践
  • 原文地址:https://www.cnblogs.com/zhengweizhao/p/6838124.html
Copyright © 2020-2023  润新知