1

私はWebアプリに取り組んでおり、些細な問題で問題を抱えています。データベースにpersonsというテーブルがあります。このテーブルは、id、position(in company)、username、firstname、lastnameのフィールドで構成されています。edit_userページで作業しています。すべてのユーザーの名前と名前を一覧表示するメインページがあります。次に、名前をクリックすると、そのユーザーに対応するedit_userページに移動します。ただし、Webサイトで行った更新は、データベースに送信されません(以下のコードを参照)。

//Inserting updates into database
        $query = "UPDATE person SET
            privilege  = '{$privilege}',
            nexus = '{$nexus}',
            firstname ='{$firstname}',
            lastname = '{$lastname}'"; 
        $query .="  WHERE id={$personid}";
        $result = mysql_query($query,$connection); 
        if (mysql_affected_rows() == 1) { 
            $message = "User was successfully updated"; 
        } else { 
            $message = "User was not updated";
            $message .= "<br/>" .mysql_error();
        }

私の予感は、次のように定義された{$personid}に問題があるということです。

function find_selected_user() {
    global $user;
    if (isset($_GET['personid'])) { 
        $personid = $_GET['personid'];
        return $personid
    } else {
        $user = NULL; 
    }
}

(上記の関数は$ userの情報の配列を返すことになっています)助けてください-私はとても立ち往生しています!とてもシンプルだと思いますが、ずっと考えていました

4

2 に答える 2

2

エンディングを忘れました。ここの文字:

return $personid

次のようにする必要があります。

return $personid;
于 2012-05-15T13:25:36.750 に答える
2

完全な$query変数を画面に表示したり、ログに保存したりできますか?

この出力をコピーし、mysql コマンド ラインまたは phpmyadmin を使用して SQL クエリをテストしてみてください。

またはecho mysql_error();、報告されているエラーがあるかどうかを確認することもできます。

おそらく、あなたの{$personid}変数は、あなたが思っているように設定されていません。

于 2012-05-15T13:28:16.957 に答える