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

Sử dụng Apostrophe trong giá trị MySQL ENUM sẽ điền vào hộp tổ hợp HTML để tìm kiếm cơ sở dữ liệu

Phần 1 có thể khá dễ:'a''b' là một thay thế cho 'a\'b' và do đó có nghĩa là như nhau. Giao diện người dùng chắc chắn rằng trong các truy vấn, chuỗi chính xác sẽ được trả về, trái ngược với định nghĩa bảng.

Đối với Phần 2, Nedret Recep đã cho bạn câu trả lời chính xác. Thêm vào đó, tôi tự hỏi làm thế nào

echo "<option value='".$imgClass_row[imgClass]."'>"

có thể dẫn đến

<option value="Robin" s'="">

. Tôi mong đợi hơn

<option value='Robin's'="">

điều này rõ ràng là sai, nhưng có thể được giải quyết bằng htmlspecialchars() .

CHỈNH SỬA:Tôi đã tìm thấy một lời giải thích khả thi:trình phân tích cú pháp HTML của trình duyệt có thể bị đổ lỗi ở đây. Với

<select id="s" onchange="alert(document.getElementById('s').innerHTML + ' value:' + document.getElementById('s').value)">
        <option value='Robin&apos;s'>a</option>
        <option value='Robin's'>b</option>
</select>

Tôi nhận được với Firefox

<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin's

với tùy chọn a

<option value="Robin's">a</option>
<option value="Robin" s="">b</option>
value:Robin

với tùy chọn b . Nhưng nó là sau khi phân tích cú pháp và lắp ráp lại và rõ ràng không phải là mã do PHP tạo. Và thậm chí sau đó, en axcess ' ở đâu trong <option value="Robin" s'=""> .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_real_escape_string () trong .NET Framework

  2. Cách lưu các vị trí portlet

  3. Python Mysql, các lệnh không đồng bộ; bạn không thể chạy lệnh này bây giờ

  4. Tích hợp trang web PHP với xác thực người dùng Wordpress

  5. Phân biệt chữ hoa chữ thường trong Mysql sử dụng Truy vấn chọn nơi