1

こんにちは、私は PHP と Mysql の初心者です。サーバーの mysql db テーブルからユーザー データを取得する Android アプリを開発しています。ユーザー名、名、姓、住所などのデータです。それらのすべてまたは一部...そして最後に更新ボタンをクリックして、データを更新してmysqlデータベースに戻します。

問題は、POST['username']、POST['fname']、...などですべての値(編集された値と編集されていない値)を返す必要があるかどうかです-そして、データベースを次のデータで更新します変更され、変更されていない - または、編集されたデータのみを返し、テーブル内のこれらのフィールドを何らかの形で更新する必要があります (しかし、これを実装する方法がわかりません - POST['fname'] のすべてのタイプのケースで SWITCH ステートメントを作成します) POST値ですべての単一の列を更新します)

または、このためのより良いロジック/パターンを知っていますか-知っている場合は、例/tutsを含むいくつかのリンクを貼り付けますか?

ありがとう

4

2 に答える 2

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"; 
于 2013-04-16T21:06:22.570 に答える
0

編集されたフィールドを示すフラグを送信し、フラグに応じて更新ステートメントを記述する必要があります。たとえば、ユーザー名と fname が変更された場合は、フラグ USERNAME_FNAME_CHANGED を送信し、ユーザー名と fname の 2 つのフィールドがデバイスから送信されると予想されます。次に、サーバーで switch ステートメントを実装して、それに応じて update ステートメントを書き込みます。

于 2013-04-16T21:48:57.060 に答える