-1

私はphpとmysqlの完全な初心者です。次に、練習用の簡単なWebサイトを作成します。user_infoとという名前の2つのテーブルを作成しましacct_infoた。

primary keyforはuser_infoですuser_id。別user_idacct_infoものもあります。

私はこれらの2つのテーブルをリンクすることによって関連付けましたuser_id(参照されるキーはuser_idin user_info、それはacct_infoisですforeign key)。ただし、新しいユーザーが私のWebサイトに新しいアカウントを登録すると、新しいデータがテーブルに追加されuser_infoますが、テーブルには何も起こりませんacct_info

誰かが私にいくつかのアドバイスを提供できますか?

問題を明確に述べていないことをお詫び申し上げます。新しいユーザーを作成しましたが、データはuser_infoテーブルに追加されていますが、acct_infoテーブルには何も追加されていません。たとえば、これら2つのテーブルの間に関係を構築する場合、新しいユーザーを作成し、user_idなどのデータとそれらすべてのデフォルトデータもacct_infoテーブルに追加する必要があると思いました。ユーザー情報をuser_infoテーブルに追加するために登録ページにphpコードを記述しましたが、acct_tableにデータを追加するためには記述しませんでした。acct_tableのコードを記述する必要がある場合、これら2つのテーブルを関連付ける目的は何ですか?

ダミーの質問をしてすみません...:)

これは、データ追加部分のphpコードです。

if($reachByPOST && $okay == true && $NotExistingUsername == true && $NotExistingEmail == true) {
    $sql = "INSERT INTO user_info SET user_id = '',user_name = '".$_POST['username']."',password = '".$_POST['password']."',email = '".$_POST['email']."'";
    $res = mysql_query($sql);
    $_SESSION['user_id'] = $userid;
    $sql2 = "INSERT INTO acct_info SET user_id = '".$userid."'";
    $res2 = mysql_query($sql2);
}

しかし、$useridは非信頼的であるというエラーが発生しました...acct_infoテーブルにデータを追加する方法がわかりません...ちなみに、user_idはuser_infoテーブルのauto_incrementであり、ユーザーによる入力を投稿するのではなく、自動的に生成されます。

4

1 に答える 1

0

user_infoに挿入しても、acct_infoには影響しません。

ただし、acct_infoに挿入する場合は、user_info(pri key)にuser_idが存在する必要があります。これは、acct_infoに挿入されます。

acct_infoにランダムなデータを挿入してみてください...正しいuser_idがない場合は、エラーが発生するはずです。

于 2012-08-25T14:25:06.777 に答える