我有一个更新功能,当我运行 index.php 时,它现在可以更新 MySQL 数据库所需的更改。
这是更新我的密码而不是名称字段,我已经检查了代码但无法弄清楚原因。 非常感谢任何帮助。
指示用输入的数据更新哪些 ID 和字段的索引
<?php
require_once 'core/init.php';
$userInsert = DB::getInstance()->update('users', 1, array(
'password' => 'newpass',
'name' => 'Ben'
));
不同php更新数据库的函数
public function update($table, $id, $fields) {
$set = '';
$x = 1;
foreach($fields as $name => $value) {
$set .= "{$name} = ?";
if($x < count($fields)) {
$set .= ',';
}
$x++;
}
$sql = "UPDATE {$table} SET {$set} = 'newpassword' WHERE id = {$id}";
if(!$this->query($sql, $fields)->error()) {
return true;
}
return false;
}
我认为这是一个小错误或输入错误,但我看不出问题所在。
如您所见,密码字段已更改但名称未更改
最佳答案
public function update($table, $id, $fields) {
$set = '';
$x = 1;
foreach($fields as $name => $value) {
$set .= "{$name} = \"{$value}\"";
if($x < count($fields)) {
$set .= ',';
}
$x++;
}
$sql = "UPDATE {$table} SET {$set} WHERE id = {$id}";
if(!$this->query($sql, $fields)->error()) {
return true;
}
return false;
}
关于php - php中的更新函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20982024/