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

lập trình tham vấn trong khi và nếu được lồng vào nhau

Nếu bạn muốn kiểm tra xem email có trong cơ sở dữ liệu của mình hay không, bạn có thể thực hiện như sau.

  • prepare tuyên bố lựa chọn của bạn

    • bằng cách sử dụng các câu lệnh đã chuẩn bị sẵn, truy vấn sql của bạn sẽ luôn được định dạng tốt, cho dù có các ký tự 'lạ' trong các tham số của bạn, điều này có thể phá vỡ cú pháp sql nếu không
  • liên kết tham số với câu lệnh và thực thi nó

  • lưu trữ kết quả của câu lệnh

    • theo cách này, chúng tôi có thể sử dụng mysqli_stmt_num_rows($stmt) trong bước tiếp theo
  • sử dụng mysqli_stmt_num_rows($stmt) để kiểm tra, nếu tập kết quả chứa ít nhất 1 hàng

    • nếu có:email của bạn có trong cơ sở dữ liệu
    • nếu không:nó không phải là

Mã:

/**
 * define your select-statement and your parameter(s)
 * let the database prepare the statement and bind the parameters
 */
$stmt = mysqli_prepare($link, 'SELECT * FROM email WHERE email = ?');
mysqli_stmt_bind_param($stmt, "s", $correo);
$correo = "[email protected]";

/**
 * execute the statement and storing the result
 */
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);

/**
 * check the resultset and react accordingly
 */
if(mysqli_stmt_num_rows($stmt) > 0){
    echo "Ya recibió los tps por su suscripción al Boletín de Todopolicia.com";
}else{
    echo "Registramos el correo";
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố trong PHP khi nối các bảng có các cột trùng tên

  2. Xử lý cơ sở dữ liệu DBI với AutoCommit được đặt thành 0 không trả về dữ liệu thích hợp với SELECT?

  3. Các ký tự không phải tiếng Anh được lưu trữ, có '?????' - Vấn đề về Bộ ký tự MySQL

  4. Tránh đưa vào SQL trong SQL-regex do người dùng tạo

  5. Mỗi giá trị được hiển thị trong một bảng HTML hàng mới