2011-12-16 18 views
0

この機能を実行すると、ポストフォームの値がDBに挿入されません。エラーメッセージは表示されませんが、$ this-> user_idが入力されていることを確認して確認しました。私は何か他のものを逃している?データベースにデータを挿入する際に問題が発生しました

function senddata() { 
    $con = mysql_connect("localhost","root","XXXXX"); 
    if (!$con) 
     { 
    die('Could not connect: ' . mysql_error()); 
     } 
     mysql_select_db("user", $con); 
     $sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]') WHERE userid=$this->user_id"; 

    mysql_close($con); 

    } 
+0

あなたはクエリを実行していますか? mysql_query関数を使って? –

+0

また、挿入文からwhere句を削除します –

+0

しかし、私はその値を特定の行に挿入する必要があります。ユーザーIDはアクティブなユーザーと同等です。どうやってやるの? – buttonitup

答えて

0

まず、クエリを実行する関数mysql_query()は表示されません。

問題はここにあるように思える:

$sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]') WHERE userid=$this->user_id"; 

代わり$sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]');を使用してください。

コード:clausule、

  • は、クエリを送信する必要がWHERE

    function senddata() { 
         $con = mysql_connect("localhost","root","XXXXX"); 
         if (!$con) 
          { 
         die('Could not connect: ' . mysql_error()); 
          } 
          mysql_select_db("user", $con); 
          $sql="INSERT INTO profile (collegemajor) VALUE('$_POST[major]');"; 
         mysql_query($sql , $con); 
    
         mysql_close($con); 
    
         } 
    
  • +0

    アクティブユーザーの行に値を挿入する必要があります。 ? – buttonitup

    +0

    @MattMcClintockだから、 '$ sql ="あなたのテーブルSET collemajor = "を更新する必要があります。 $ _POST ['メジャー']。 "どこuserid ="。 $ this-> user_id ";"; ' –

    +0

    まだ何も... – buttonitup

    1
    1. INSERT文はありません!
    +0

    うわー)私は完全にそれが "INSERT"クエリだと思います) –

    0

    これは、「Where」句に基づいていると思われる、すでに存在する行を更新しようとしている場合は、挿入機能ではなく、更新機能である必要があります。

    他にも言及したように、mysql_query()などの機能を実行したことはありません。

    関連する問題