重用或重新创建数据库插入脚本

时间:2012-11-19 03:55:01

标签: php

我正在使用PHP创建一个非常简单的webapp,它将表单中的信息存储在数据库中,然后允许编辑该信息。

我将数据库中的表单和存储信息运行得很好。我用来从我的表单中存储信息的代码(在缩短此Q之后)如下:

<?php
require_once 'connect.php';
$firstName = $_POST['firstName'];     //other variables ommited for brevity

$sth = $dbh->prepare("INSERT INTO users(firstName, lastName, country, roomtype, roomnumber, checkin, nights)
VALUES ('$firstName', '$lastName', '$country', '$roomtype', '$roomnumber', '$checkin', '$nights')");
$sth->execute();

$dbh =null;
?>

我有一个编辑页面,在那里我将数据库中的值读入表单字段。

如果进行了更改,我不想在数据库中添加新记录,而是更新现有记录。

我是否应该使用相同的PHP页面(称为process.php)来插入数据库以更新数据库中的信息,或者检查它是如何被调用的,或者我应该创建一个新的单独页面更新操作。

什么是更好的方法?

2 个答案:

答案 0 :(得分:1)

对于更新,您将拥有一个唯一的id,如果您可以在同一页面中执行相应的操作

if(empty($_POST['id'])) {
       //insert operation

}elseif(!empty($_POST['id'])){
       //update operation
}

答案 1 :(得分:0)

我建议在数据库中使用添加/编辑/删除数据的相同页面,并使用以下开关案例:

//get the action to be performed like add or edit
$action = strtolower( trim( $_POST['action'] ) );
switch($action) {
    case "add":
         //call function to insert to db
         yourFunctionToInsert();
    break;
    case "edit":
        //call function to edit
        yourFunctionToEdit();
    break;
    default:
       //some default code in case no valid action is encountered
}

function yourFunctionToInsert() {
   //code to insert to DB
}

function yourFunctionToEdit() {
   //code to update the DB
}

希望有所帮助