Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để chặn nhiều email HOẶC tên người dùng?

Bạn có thể thử làm:

connect_db();
$check = mysql_query("SELECT 'User' validation
                        FROM school_users 
                       WHERE username = '$username' 
                       UNION ALL
                      SELECT 'Email' 
                        FROM school_users 
                       WHERE email = '$email'") or die(mysql_error());
$row = mysql_fetch_assoc($check);

if($row)
{
    if ($row["validation"] == 'User') {
            respond("error", "Sorry, the username ".$_POST['username']." is already in use. Please choose a different username.");}}
    else if ($row["validation"] == 'Email') {
        respond("error", "Sorry, the email ".$_POST['email']." is already in use. Please choose a different email.");}}
}

HOẶC bạn có thể làm điều đó riêng lẻ ...

//Validate UserName
connect_db();
$check = mysql_query("SELECT username FROM school_users WHERE username = '$username'") or die(mysql_error());
$check2 = mysql_num_rows($check);

if ($check2 != 0) {
    respond("error", "Sorry, the username ".$_POST['username']." is already in use. Please choose a different username.");}

//Validate Email
connect_db();
$checkEmail = mysql_query("SELECT email FROM school_users WHERE email = '$email'") or die(mysql_error());
$checkEmail2 = mysql_num_rows($check);

if ($checkEmail2 != 0) {
    respond("error", "Sorry, the email ".$_POST['email']." is already in use. Please choose a different email.");}

Ngoài ra, mã của bạn dễ bị tấn công SQL Injection và bạn đang sử dụng các hàm php MySQL không được dùng nữa. Nếu bạn muốn làm cho mã của mình tốt hơn và ít bị tấn công hơn, hãy xem các liên kết sau:

Tại sao tôi không nên sử dụng các hàm mysql_ * bằng PHP?

Tôi có thể sử dụng gì thay cho các hàm mysql_?

Tuyên bố chuẩn bị

Câu lệnh chuẩn bị với MySQLi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. thiết lập utf8 với mysql thông qua php

  2. MySQL Workbench Alternatives - ClusterControl Database User Management

  3. ElasticSearch sông JDBC MySQL không xóa bản ghi

  4. Làm cách nào để truy xuất tên bảng trong cơ sở dữ liệu mysql với Python và MySQLdb?

  5. Codeigniter $ this-> db-> Renect (); cách sử dụng