更新mySql表中的某些列?

时间:2013-04-16 21:02:56

标签: php android mysql

您好我是PHP和Mysql的新手 - 我正在开发一个Android应用程序,它将从服务器mysql db表中检索一些用户数据 - 用户名,名字,姓氏,地址等数据。用户拥有编辑所有或部分内容的选项...最后单击更新按钮将数据更新回mysql数据库。

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

或者你知道一些更好的逻辑/模式吗 - 如果你知道的话,粘贴一些带例子/ tuts的链接?

谢谢

2 个答案:

答案 0 :(得分:1)

这适用于PHP,尽管准备好的语句更好:

$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"; 

答案 1 :(得分:0)

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