フィールド名、フィールドの数、およびそれらの値を知らなくても、PHPでMySQLiを使用してテーブルを配列で更新することは可能ですか?
キーと値のフィールドに疑問符を挿入する準備済みステートメントを試しました (?=?)。更新クエリで () VALUES () を使用できるかどうかを考えていましたが、解決策があるかもしれませんが、そのようなものは存在しないと思います。
私のスクリプトを見てください:
<?php
class UserHandler {
public function updateUserData($array, $id) {
global $mysqli;
$stmt = $mysqli->prepare("UPDATE users SET ?=? WHERE id = ?");
$stmt->bind_param('ssi', $array[0], $array[1], $id);
$stmt->execute();
return true;
}
}
$users = new UserHandler;
?>
使い方は次のようにしたいです。
<?php
$users->updateUserData(array(
'firstname' => 'Wanda',
'lastname' => 'Merritt',
'state' => 'IN'
'address' => '693 Pearcy Avenue',
'zipcode' => 46625,
), 45);
$users->updateUserData(array(
'firstname' => 'Stanley',
'lastname' => 'Lewis',
'password' => '123123'
), 159);
?>