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

Chọn dữ liệu bảng với các câu lệnh PDO

Thực ra bạn đang làm quá nhiều:

$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $dbh->query($query);

Dòng có vấn đề là:

$result = $dbh->query($query);

Kiểm tra bằng http://php.net/pdo.query , tham số là một chuỗi, thực sự là chuỗi SQL mà bạn đã sử dụng ở trên, không phải giá trị kết quả của PDO::prepare() cuộc gọi.

Đối với truy vấn đơn giản của bạn, bạn chỉ có thể thực hiện:

$result = $dbh->query("SELECT * FROM students");

Hoặc nếu bạn muốn chuẩn bị:

$query = $dbh->prepare("SELECT * FROM students");
$query->execute();
$result = $query;

Phần sau là một số bản soạn sẵn nếu bạn muốn chèn các biến vào truy vấn, đó là lý do tại sao bạn chuẩn bị nó.

Vấn đề tiếp theo là với foreach dòng:

foreach($result as $row);

Bạn đang kết thúc vòng lặp ngay lập tức vì dấu chấm phẩy ; cuối cùng. Xóa dấu chấm phẩy đó để khối mã có dấu ngoặc nhọn sau trở thành phần chính của vòng lặp foreach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật / Tăng một cột trên nhiều hàng cùng một lúc

  2. Thư mục mysqld_safe '/ var / run / mysqld' cho tệp ổ cắm UNIX không tồn tại

  3. SQL Injection cấp hai là gì

  4. Sphinx và ý bạn là ...? đề xuất ý tưởng. Nó có hoạt động không?

  5. Ví dụ về MICROSECOND () - MySQL