您好我是PHP和Mysql的新手 - 我正在开发一个Android应用程序,它将从服务器mysql db表中检索一些用户数据 - 用户名,名字,姓氏,地址等数据。用户拥有编辑所有或部分内容的选项...最后单击更新按钮将数据更新回mysql数据库。
所以问题是 - 我应该使用POST ['username'],POST ['fname'],....等返回所有值(已编辑和未编辑的值) - 然后使用更新数据库更改和未更改的数据 - 或者我应该仅返回编辑数据然后以某种方式更新表中的这些字段(但我不知道如何实现这一点 - 为每种类型的POST ['创建一个SWITCH语句] fname']并使用POST值更新每一列)
或者你知道一些更好的逻辑/模式吗 - 如果你知道的话,粘贴一些带例子/ tuts的链接?
谢谢答案 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语句。