0

こんにちは、データベース関数への PDO 挿入に続いて、ユーザーが既にこの情報で登録されているというエラーを発生させるために、データベース内にそのようなレコードが既に存在するかどうかを確認するにはどうすればよいですか? 私のテーブルはそのように整理されています

id | curso_id | user_id 
1  | 12       | 43
2  | 5        | 56

そのため、curso_id = 12 と user_id = 43 の組み合わせがデータベース内にある場合、この種の 2 番目のものを登録しないと、エラーが発生します。

$userid = $_SESSION['userID'];  
$cursoid = $_GET["id"];

try {

          $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD ); //our new PDO Object
          $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
          $stmt = $con->prepare( "Insert Into subscriptions ( curso_id, user_id ) Values ('$cursoid', '$userid')" );
          $stmt->execute();

       } catch (PDOException $e) {
              echo "I'm sorry there is a problem with your operation.."; $e->getMessage(); //catch and show the error
       }

$con = null;
header( 'Location: cursos.php' ) ;
}

事前に助けてくれてありがとう

4

2 に答える 2

0

跳躍する前に積極的に見てください。select挿入する前に a を実行すると、関連するレコードが既に存在するかどうかが表示されます。

反応unique(curso_id,user_id)的に、テーブルに制約を追加します。他のすべてが失敗したときにデータを保護します...

于 2013-10-05T23:24:31.233 に答える