1

你好,我是 PHP 和 Mysql 的新手——我正在开发一个 android 应用程序,它将从服务器 mysql db 表中检索一些用户数据——数据,如用户名、名字、姓氏、地址等。用户可以选择编辑全部或部分...最后单击更新按钮将数据更新回mysql数据库。

所以问题是 - 我是否应该使用 POST['username']、POST['fname']、.... 等返回所有值(已编辑和未编辑的值) - 然后使用以下数据更新数据库更改和未更改 - 或者我应该只返回已编辑的数据,然后以某种方式更新表中的这些字段(但我不确定如何实现这一点 - 为每种类型的 POST ['fname'] 创建一个带有案例的 SWITCH 语句并用 POST 值更新每一列)

或者您是否知道一些更好的逻辑/模式 - 如果您知道,请粘贴一些带有示例/tuts 的链接?

谢谢

4

2 回答 2

1

This works in PHP, although prepared statements are better:

$sql = "
UPDATE userData
    SET
";

if(isset($_POST['firstname'])
    $sql .= "`firstname` = '" . $_POST['firstname'] . "'";
if(isset($_POST['lastname'])
    $sql .= "`lastname` = '" . $_POST['lastname'] . "'";
// You get the picture

$sql .= "
WHERE userid = $id"; 
于 2013-04-16T21:06:22.570 回答
0

您应该发送一个标志来指示已编辑的字段,并根据标志编写您的更新语句,例如,如果用户名和 fname 已更改,则发送一个标志 USERNAME_FNAME_CHANGED,然后预期从您的设备发送 2 个字段用户名和 fname。然后在服务器中执行一个switch语句来相应地编写更新语句。

于 2013-04-16T21:48:57.060 回答