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

PDO với CHÈN VÀO thông qua các báo cáo đã chuẩn bị

Bạn nên sử dụng nó như vậy

<?php
$dbhost = 'localhost';
$dbname = 'pdo';
$dbusername = 'root';
$dbpassword = '845625';

$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (:fname, :sname, :age)');

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);

Các câu lệnh soạn sẵn được sử dụng để làm sạch thông tin nhập của bạn và để làm điều đó, bạn có thể sử dụng :foo không có bất kỳ dấu ngoặc kép nào trong SQL để ràng buộc và sau đó trong execute() hàm bạn truyền vào một mảng kết hợp của các biến mà bạn đã xác định trong câu lệnh SQL.

Bạn cũng có thể sử dụng ? thay vì :foo và sau đó chuyển vào một mảng chỉ các giá trị để nhập như vậy;

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);

Cả hai cách đều có những ưu điểm và nhược điểm riêng. Cá nhân tôi thích liên kết các tên tham số vì nó dễ đọc hơn cho tôi.



  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ự khác biệt giữa khóa chính và khóa duy nhất

  2. Làm thế nào để thực hiện một mysqldump mà không có lời nhắc mật khẩu?

  3. Làm thế nào để kích hoạt mysqlnd cho php?

  4. Tuyên bố VALUES trong MySQL

  5. cần trả về hai tập dữ liệu với hai mệnh đề where khác nhau