我知道这听起来像是重复的,但我不打算用一个查询添加多行,我已经有了它的工作。问题是我只需要插入一行。
我有两段代码执行这些操作。 第一个 - 在注册页面上:
$user = DB::getInstance()->insert('users', array(
'username' => 'Sam',
'password' => 'password',
'salt' => 'salt'
));
然后是在单独的php类中实际执行查询的内容:
public function insert($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)->error()) {
return true;
}
return false;
}public function query($sql, $params = array()) {
$this->_error = false;
if($this->_query = $this->_pdo->prepare($sql)) {
$x = 1;
if(count($params)) {
foreach($params as $param) {
$this->_query->bindValue($x, $param);
$x++;
}
}
if($this->_query->execute()) {
$this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
$this->_count = $this->_query->rowCount();
} else {
$this->_error = true;
}
}
return $this;
}
那里有点,但我只想包括一切。这当前正在工作,它将记录输入我的数据库,唯一的问题是它每次输入2。
这是我数据库的屏幕截图:
正如您从ID中看到的那样,我已经讨论了一段时间了。我有一种感觉非常小的东西正在抛弃它,但我似乎无法找到它并需要一双新眼睛的帮助。
答案 0 :(得分:0)
修正了它。我在Wordpress上运行它,并且运行了header.php文件的第一段代码。事实证明,在某些时候在页面上运行两次,我只需要将代码包含在“页面”中。 (但当然php当然不想在wordpress页面上运行所以我需要使用exec php插件)但无论如何它都是固定的。感谢