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

Dấu chấm hỏi thoát PDO trong PHP để nó không nghĩ rằng nó là một trình giữ chỗ

PDO không bối rối trước dấu chấm hỏi bên trong dấu ngoặc kép. Tôi chỉ kiểm tra điều này với PHP 5.5.15.

$sql = "SELECT CONCAT('path/to/page/?id=', id) AS link FROM foo WHERE name = ?;";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, 'name');
$stmt->execute();
print_r($stmt->fetchAll());

Nó hoạt động tốt, không có lỗi về một số thông số sai. Lỗi của bạn là do cách bạn liên kết các tham số, không phải do cú pháp SQL.

Tôi nghi ngờ rằng bạn đã không cho chúng tôi xem toàn bộ truy vấn SQL, vì dù sao thì WHERE không có FROM cũng là một lỗi cú pháp. Vì vậy, bạn phải có trình giữ chỗ tham số bổ sung mà bạn chưa hiển thị cho chúng tôi. Nó cũng sẽ hữu ích nếu bạn chỉ cho chúng tôi cách bạn đang ràng buộc các tham số (hoặc truyền tham số để thực thi ()).



  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 cách nào để tôi có thể tìm kiếm bằng biểu tượng cảm xúc trong MySQL bằng utf8mb4?

  2. Tại sao khóa cấp bảng tốt hơn khóa cấp hàng cho các bảng lớn?

  3. Có lý do gì mà MySQL không hỗ trợ FULL OUTER JOINS không?

  4. So sánh các hàng trong bảng để biết sự khác biệt giữa các trường

  5. Lỗi chung:1366 Giá trị số nguyên không chính xác với bản cập nhật Doctrine 2.1 và Zend Form