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

Biến chuỗi PHP trong mệnh đề WHERE MySQL

bạn không có ngày tháng vì bạn có thêm không gian đặt cược vào các dấu ngoặc kép,

$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show =' ". $show. " '";
                                                                    ^ HERE      ^

sau đó sẽ được phân tích cú pháp thành

SELECT * FROM toho_shows WHERE toho_shows.show =' gothaf '

loại bỏ nó và nó sẽ hoạt động

$query_getShows = "SELECT * FROM toho_shows WHERE toho_shows.show ='". $show. "'";

Là một phụ chú, truy vấn dễ bị tấn công với SQL Injection nếu giá trị ( s ) của các biến đến từ bên ngoài. Mời các bạn cùng xem bài viết dưới đây để biết cách phòng tránh nhé. Bằng cách sử dụng PreparedStatements bạn có thể loại bỏ việc sử dụng các dấu ngoặc kép xung quanh các giá trị.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự tham số được đặt tên có ý nghĩa đối với nhà cung cấp dữ liệu MySql .Net?

  2. MySQL - SELECT ... WHERE id IN (..) - đúng thứ tự

  3. Gán xml được tạo bởi vòng lặp while cho một biến

  4. Cách đúng để sử dụng LIKE '% {$ var}%' với các câu lệnh đã chuẩn bị? [mysqli]

  5. không thể nhập tệp được mã hóa utf16 vào mysql