• 使用pdo,使用pdo无法插入数据怎么办


    如果你使用了最新版的XAMPP,那么你几乎不用改变php.ini的设置,就可以使用pdo

    but,插了一晚上,程序既不报错也不插入数据,真是气死人,后来发现是实例化pdo对象的时候没有指定字符集。所以一定设定字符集属性,否则极有可能插入数据失败

    • 一个插入多条数据的例子(用到了事务)
    <?php
    $dbtype = 'mysql';
    $dbname = 'olddream';
    $user = "root";
    $pwd = "wenwajiao";
    $ip='127.0.0.1';
    $fuckingcharset = 'utf8';
    $dsn = "$dbtype:host=$ip;dbname=$dbname;charset=$fuckingcharset";
    $pdo = new PDO($dsn,$user,$pwd);
    $rows = $pdo->prepare("select userid,username from userlist");
    $rows->execute();
    $pdo->beginTransaction();
    $ret = $rows->fetchAll();
    //update rbac_user set mypass = ? where userid = ?
    for($i=0;$i<count($ret);$i++)
    {
        $sql = "insert into rbac_user (userid,username,mypass) values (?,?,?)";
        $statement=$pdo->prepare($sql);
        $statement->bindValue(1,$ret[$i]['userid']);
        $statement->bindValue(2,$ret[$i]['username']);
        $statement->bindValue(3,md5($ret[$i]['userid']));
        $statement->execute();
    }
    $pdo->commit();
    $pdo=null;
    •  插入一条数据
    <?php
    $dbtype='mysql';
    $db = 'olddream';
    $ip='127.0.0.1';
    $user='root';
    $pwd = 'wenwajiao';
    $charset = 'utf8';
    $dsn = "$dbtype:host=$ip;dbname=$db;charset=$charset";
    $pdo=new PDO($dsn,$user,$pwd);
    $sql = "insert into rbac_user (userid,username,mypass) values (?,?,?)";
    $statement=$pdo->prepare($sql);
    $userid = 'masterzhang';
    $username = '张教练';
    $pwd = md5('masterzhang');
    $statement->bindValue(1,$userid,PDO::PARAM_STR);
    $statement->bindvalue(2,$username,PDO::PARAM_STR);
    $statement->bindvalue(3,$pwd,PDO::PARAM_STR);
    $statement->execute();
    ?>
  • 相关阅读:
    js简单的双向绑定
    angular的$scope
    angular一些冷门的用法
    堆栈
    angular一些有启发的博客
    160830、如何运用最新的技术提升网页速度和性能
    160829、Java加解密与数字签名
    160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
    160825、互联网架构,如何进行容量设计?
    160824、ionic添加地图站点
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/10807211.html
Copyright © 2020-2023  润新知