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

Làm cách nào để thoát các ký tự đặc biệt trong chuỗi kết nối PDO?

Nếu vì một lý do nào đó, bạn cần thực hiện việc này, đừng sử dụng dbname tham số trong dns. Thay vào đó, hãy sử dụng trình điều khiển cơ sở dữ liệu của bạn để chọn nó cho bạn:

$dbh->query('use "newdatabase"'); // for mysql.

Bằng cách này, bạn có tùy chọn để bao gồm tên cơ sở dữ liệu bằng " , vì vậy bạn có thể đặt tên nó là bất kỳ trình điều khiển nào cho phép . Đối với MySQL cho trường hợp cụ thể này, nó là " , nhưng điều đó không có nghĩa là nó khác với PostgreSQL hoặc Firebase.

Nhưng phương pháp này không chống đạn, nó chỉ cho phép thư viện PDO phân tích cú pháp DSN bình thường như tôi không mong đợi thư viện PDO để đối phó với tình huống bất thường này vì mục đích duy nhất của nó là tương tác với càng nhiều trình điều khiển càng tốt.

Các khoản phụ cấp dành riêng cho trình điều khiển không nên tham gia vào PDO, vì vậy bạn thực sự nên hỏi trình điều khiển về điều này, bằng cách này, bạn cũng có thể kiểm tra xem truy vấn có không thực thi được hay 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. Đổi tên bảng MySQL bằng câu lệnh SQL

  2. SQLSTATE [42000]:Lỗi cú pháp hoặc vi phạm quyền truy cập:1055 Biểu thức số 3 của danh sách SELECT không nằm trong mệnh đề GROUP BY và chứa không được tổng hợp

  3. SQLPhụ thuộc vào cơ sở dữ liệu MariaDB / MySQL

  4. Chọn ngày trong tuần từ ngày

  5. Thay đổi giá trị của trường Nhập khi người dùng chọn tùy chọn từ hộp chọn