sql >> データベース >  >> RDS >> Mysql

メールをチェックしてユニークなPHPにする

    • 最初に..@RamRaiderがすでにコメントしているように、emailに一意のインデックスを追加する必要があります 列
    • 2番目..mysql_*の使用を停止する必要があります 非推奨であるため、機能します。 mysqli_*を使用できます 関数、MySQLi クラスまたはPDO 。また、プリペアドステートメントを使用することで、SQLインジェクション を回避できます。
    • 一意のインデックスを設定した場合でも、挿入する前に必ず確認する必要があります:

      <?php
      
      // PDO instantiation here
      
      $stmt = $pdo->prepare('SELECT COUNT(email) AS EmailCount FROM emails WHERE email = :email');
      $stmt->execute(array('email' => $_POST['email']));
      $result = $stmt->fetch(PDO::FETCH_ASSOC);
      
      if ($result['EmailCount'] == 0) {
          $stmt = $pdo->prepare('INSERT INTO emails (email) VALUES (:email)');
          $stmt->execute(array('email' => $_POST['email']));
          echo 'Thank you for Submitting. Redirecting back to Home Page';
      } else {
          echo 'E-mail exists!';
      }
      


    1. Oracle Regexpは、\ n、\ r、および\tをスペースに置き換えます

    2. ORA-28040:一致する認証プロトコルの例外はありません

    3. mysqlminwhereステートメント

    4. psycopg2のパラメーターとしてテーブル名を渡す