绑定值时我的代码发生了什么

时间:2016-03-04 07:28:00

标签: php pdo

我一直试图弄清楚如何将值绑定一段时间,但我似乎无法获得它的要点。

在这个代码块中,我所做的只是实例化'?'将绑定到另一个值的值。输出是这样的: INSERT INTO table1(column1column2)VALUES(?,?)

public function insertQuery($table, $fields = array()) {
        $keys = array_keys($fields);
        $values = '';
        $x = 1;

        foreach($fields as $field) {
            $values .= '?';

            if($x < count($fields)) {
                $values .= ', ';
            }
            $x++;
        }

        $sql = "INSERT INTO {$table} (`".implode('`,`', $keys)."`) VALUES({$values})";

        if($this->query($sql, $fields)) {
            return $this;
        }
        return false;
    }

一切正常,直到它到达我的查询方法

的execute()函数
private function query($sql, $bind_value = array()) {
        if($this->_query = $this->_pdo->prepare($sql)) {
            if(count($bind_value)) {
                $x = 1;
                foreach($bind_value as $bind_values) {
                    echo "{$x} = {$bind_values} <br>";
                    $this->_query->bindValue($x, $bind_values);
                    $x++;
                }
            }
            if($this->_query->execute()) {
                $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
                $this->_count = $this->_query->rowCount();
            } else {
                echo 'a';
            }
        }
        return $this;
    }

它输出 a ,这意味着从未运行execute()。有没有我错过的东西?

0 个答案:

没有答案