【发布时间】:2018-11-21 16:48:06
【问题描述】:
我有这段代码来更新我的数据库中的一条记录,通常我只会更新一列,例如:在数组上我列出了 6 列,我只想更新列keywords,其他列应该不影响我。
使用此代码,我可以更新我的记录,但不能更新特定列,因为如果我在 input name="keywords" 上写了一些东西,而在其他输入上什么也不写,这些输入中的列值将被我的数据库上的无值替换.
我的问题是:
-
如何在不影响其他列的情况下更新列?
if(isset($_POST["updateBTN"])){ $insert_data = array( ':title' => $_POST['title'], ':keywords' => $_POST['keywords'], ':img' => $_POST['img'], ':widht' => $_POST['widht'], ':status' => $_POST['status'], ':name' => $_POST['name'], ':height' => $_POST['height'] ); $query = "UPDATE table SET keywords = :keywords, img = :img, widht = :widht, status = :status, name = :name, height = :height WHERE title = :title"; $statement = $conn->prepare($query); $statement->execute($insert_data); }
html:
<form method="post">
<div>
<input type="text" name="title">
<span data-placeholder="Title"></span>
</div>
<div>
<input type="text" name="keywords">
<span data-placeholder="keywords"></span>
</div>
.
.
.
<button type="submit" name="updateBTN">Send</button>
</form>
【问题讨论】:
标签: php sql forms post sql-update