我目前正在使用基本上使用PDO包裝的PHP框架,並且難以解決問題。我有一個網頁,其中採用任何數量的職位變數,這可能是以下的任意組合:與UPDATE命令一起使用mysql PDO,但不覆蓋所有值
":fullname" => $_POST['fullName'],
":universityID" => $_POST['university'],
":gpa" => $_POST['gpa'],
":major" => $_POST['major'],
":gradYear" => $_POST['gradYear'],
":photo" => "",
":description" => $_POST['description'],
"howDidYouHear" => $_POST['howDidYouHear']
而且我應該是這個樣子的更新語句:
$affectedRows = getDatabase()->execute('UPDATE user SET universityID = :universityID,
gpa = :gpa, etc, WHERE fullName=:fullName', array(':universityID' =>
$_POST['universityID'], ':gpa' => $_POST['gpa']));
現在問題是如果我做這種更新聲明,我將覆蓋表中的舊數據,其中大部分仍然有效。我想要做的只是更新我有新信息的行,而不是觸及其他行。有沒有辦法在查詢中找出哪些應該被改變?
東西嘗試'的var_dump($ _ POST);',看看裏面有什麼 – alfasin
你寫的「我只更新行新信息「。你不是指專欄,而是專欄? – Barmar
@Barmar,我的道歉,你是對的,我的意思是專欄。 – theother404