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

Tương đương với bind_result trên PDO

Bạn hoàn toàn không cần một bind_result xấu xí với PDO.

Tuy nhiên, bạn cũng không cần phải đếm. Vui lòng tránh các hành động không cần thiết - chúng chỉ làm cồng kềnh và làm xáo trộn mã của bạn mà không có lý do.

Trước tiên, hãy nghĩ xem bạn cần gì từ truy vấn? Bạn có thực sự cần phải đếm không? Không. Những gì bạn thực sự cần chỉ là một lá cờ - nếu người dùng tồn tại hoặc không. Vì vậy, hãy thực hiện một truy vấn để trả về một cờ như vậy.

$stmt = $this->pdo->prepare("SELECT 1 FROM users WHERE email=?");
$stmt->execute(array($_POST['email']));
$exists = $stmt->fetchColumn();

Tương tự đối với tất cả các phần khác của mã

//escape the POST data for added protection

Bạn không thực sự "thoát" bất kỳ dữ liệu nào trong khối mã này và không có biện pháp bảo vệ nào. Tuy nhiên, tôi thấy hoàn toàn không có ý nghĩa trong việc chèn NULL làm email. Bạn có chắc mình thực sự muốn nó không?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tìm những email nào trong cùng một danh sách?

  2. Có bất kỳ lợi ích thực sự nào khi sử dụng RDBMS so với tệp phẳng trên hệ thống tài liệu Web đơn giản (hoặc CMS cơ bản) không?

  3. Nguồn MySQL do người dùng xác định của Google Cloud Dataflow

  4. Lỗi SQLAlchemy Máy chủ MySQL đã biến mất

  5. Làm cách nào để ngăn trường thập phân MySQL được làm tròn?