我有一個包含3列的頁面,前兩列有表格,第三列顯示信息。區分更新和插入查詢
無論何時調用頁面,與第一個表單相對應的信息都已存在,但第二個表單可用於插入新數據或更新現有數據。
的代碼我在此刻:
<?php
require_once 'connect.php';
$formType = $_POST['formType'];
$id = $_POST['id'];
$favColor= $_POST['favColor'];
$favFood= $_POST['favFood'];
$country = $_POST['country'];
if($_POST['formType'] == 'guestCosts'){
$sth = $dbh->prepare("INSERT INTO info (id, favColor, favFood, country)
VALUES ('$id', '$favColor', '$favFood', '$country')");
$sth->execute();
}elseif($_POST['formType'] == 'guestCosts'){
$sth = $dbh->prepare("UPDATE info SET favColor = '$favColor', favFood = '$favFood', country = '$country' WHERE id = '$id'");
$sth->execute();
}
$dbh =null;
?>
我遇到的問題是,我現在看不到出路的時候,我應該做一個更新VS時,我應該做一個INSERT區分。
生成表單的頁面執行查詢以使用來自數據庫的值填充表單。我想加入一個隱藏字段,如果數據庫是空的,例如一個特定的ID:
<input type = "hidden" name ="action" value="insert" />
但是我不知道頁面之間傳遞變量是最有效的方式。有沒有更好的方法來做我想做的事情?
如果你不希望傳遞一個變量,你可以經常檢查你的數據庫如果ID在數據庫中已經存在,如果它是否運行更新? – lje