是否有可能爲PDO構建動態查詢?PDO - 動態查詢大廈
說明:
我有以下功能:
功能
saveContent($roundId,$answer,$question_de,$question_en,$files_1_1,$files_1_2,$files_2_1,$files_2_2,$files_3_1,$files_3_2) {
$sql_pictures = "
UPDATE ".DBPREFIX."pictures
SET
file_1_static=:files_1_1,
file_1_animation=:files_1_2,
file_2_static=:files_2_1,
file_2_animation=:files_2_2,
file_3_static=:files_3_1,
file_3_animation=:files_3_2
WHERE
roundId=:roundId";
try {
$db = self::getConnection();
$stmt_pictures = $db->prepare($sql_pictures);
$stmt_pictures->bindParam("roundId", $roundId);
$stmt_pictures->bindParam("files_1_1", $$question_de);
$stmt_pictures->bindParam("files_1_2", $question_en);
$stmt_pictures->bindParam("files_2_1", $roundId);
$stmt_pictures->bindParam("files_2_2", $$question_de);
$stmt_pictures->bindParam("files_3_1", $question_en);
$stmt_pictures->bindParam("files_3_2", $question_en);
$stmt_pictures->execute();
$db = null;
return true;
} catch(PDOException $e) {
echo $e->getMessage();
}
}
的重要組成部分,是 「sql_pictures」。我通過將必要的數據到函數,這樣調用這個函數:
if (isset($_POST['save'])) {
$saveContent = $helper->saveContent(
$_POST['roundId'],
$_POST['answer'],
$_POST['question_de'],
$_POST['question_en'],
$_FILES["files_1_1"],
$_FILES["files_1_2"],
$_FILES["files_2_1"],
$_FILES["files_2_2"],
$_FILES["files_3_1"],
$_FILES["files_3_2"]
);
}
你們有些人也許注意到了,它是一個多文件上傳。
現在的主要問題是,當字符串爲空(未設置)或值未更改(即$ files_1_1未更改或爲空)時,我不想更新字段。
我該如何做到這一點?
其他問題:
是否可能更好地使用的
<input type="file" name="files[]" id="file" />
代替
<input type="file" name="files_1_2" id="file" />
每個輸入字段?
那麼我該如何重構函數呢?我坐了好幾個小時,但沒有線索。一個提示會很好! :)
謝謝!
Great-謝謝。做到了這一點,它工作正常! – Marek123 2013-04-09 13:00:08