微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PDO bindParam仅从数组的最后一个值插入

如何解决PDO bindParam仅从数组的最后一个值插入

我正在像这样做一个小的pdo课:

class Bd
{

    private $conn;
    private $server;
    private $port;
    private $database;
    private $user;
    private $pass;

    function __construct()
    {
        $this->server = '127.0.0.1';
        $this->database = 'testedb';
        $this->user = 'root';
        $this->pass = '123456';
        $this->connect();
    }
    function connect()
    {
        try
        {
            $options = [
                PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,PDO::ATTR_EMULATE_PREPARES   => false,];
            $this->conn = new PDO("MysqL:host=$this->server;dbname=$this->database","$this->user","$this->pass",$options);
        }
        catch( PDOException $ex )
        {
            die($ex->getMessage());
        }
    }
    function prepare_execute($query,$params)
    {
        $this->stmt = $this->conn->prepare($query);
        foreach ($params as $key => $value)
        {
            $this->stmt->bindParam($key+1,$value);      
        }

        $this->stmt->execute();     
    }
}

$bd = new Bd;
$query = "INSERT INTO clientes (nome,morada,idade) VALUES(?,?,?)";

$params = array( 'jorge','rua','25');

$bd->prepare_execute($query,$params);

问题是所有字段都获得25值,但是如果我在绑定时使用$params[$key],插入操作的效果应与预期相同。我的foreach冰柱怎么办?谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。