ユーザー用に複数ステップのフォームを作成しています。一部またはすべてのフィールドを更新することが許可されます。したがって、値を送信し、設定されているかどうかを確認し、設定されている場合はUPDATE
. これが私がこれまでに持っているものです:
public function updateUser($firstName, $lastName, $streetAddress, $city, $state, $zip, $emailAddress, $industry, $password, $public = 1,
$phone1, $phone2, $website,){
$updates = array(
'firstName' => $firstName,
'lastName' => $lastName,
'streetAddress' => $streetAddress,
'city' => $city,
'state' => $state,
'zip' => $zip,
'emailAddress' => $emailAddress,
'industry' => $industry,
'password' => $password,
'public' => $public,
'phone1' => $phone1,
'phone2' => $phone2,
'website' => $website,
);
これが私のPDOです(まあ、最初の試みです)
$sth = $this->dbh->prepare("UPDATE user SET firstName = "); //<---Stuck here
$sth->execute();
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
return $result;
UPDATE
基本的に、そうでない配列内の項目のみを更新するようにステートメントを作成するにはどうすればよいNULL
ですか?
foreach
次のようなループを実行することを考えました。
foreach($updates as $key => $value) {
if($value == NULL) {
unset($updates[$key]);
}
}
prepare
しかし、値がわからない場合は、どのようにステートメントを書くのでしょうか?
私がこれについて完全に間違っている場合は、正しい方向に向けてください。ありがとう。