Hướng dẫn javascript escape quotes programmatically - báo giá javascript thoát được lập trình

Tại sao không đặt giá trị trực tiếp thay vì xây dựng lại input?

document.getElementById('name').value = edittext

Tất nhiên, điều này giả định rằng phần tử input với

function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
1 đã tồn tại trong DOM của bạn, nhưng tôi thấy không có lý do cụ thể nào bạn không thể đảm bảo rằng nó đã có ở đó (viết trực tiếp bằng HTML hoặc tạo trong JavaScript trên tải trang).

CẬP NHẬT: Có vẻ như OP muốn phần tử được tạo động trong

function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
2, bằng cách biến văn bản hiện đang ở trong trường input với nội dung của
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
3 là
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
6.
: It seems that the OP wants the element to be dynamically created in the
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
2, by turning the text that is currently in a
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
3 into an input field with the contents of that
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
3 as its
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
6.

Tôi tin rằng những điều sau đây có thể thực hiện thủ thuật, giả sử

function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
7 là duy nhất như vậy.

function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}

Lưu ý rằng bạn cũng sẽ cần vô hiệu hóa

function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
2 bên trong hàm trên, sau đó kích hoạt lại bên trong
function editText() {
var text = document.getElementById('text').innerHTML;
var edittext = '';
document.getElementById('text').innerHTML = edittext;
document.getElementById('name').value = text;
document.getElementById('text').onclick = function() {}; //
return false;
}
9, vì nếu không thì mỗi lần nhấp sẽ khiến các nút thêm được thêm vào.

CẬP NHẬT 2: Đây là một ví dụ hoạt động đầy đủ mà không có tham số (để đơn giản).: Here is a fully working example without parameter passing (for simplicity).




HelloWorld

Tôi có một vấn đề khó hiểu mà tôi dường như không thể hiểu được ...

Nội phân Chính showShow

  • Ví dụ 1: Sử dụng kiểu định hướng đối tượng
  • Ví dụ 2: Sử dụng phương pháp thủ tục
  • Làm thế nào nó hoạt động
  • Định nghĩa và cách sử dụng
  • Làm thế nào Escape Trích dẫn đơn PHP?
  • Làm cách nào để thoát khỏi một trích dẫn trong mysql?
  • Làm thế nào để bạn thoát khỏi một trích dẫn duy nhất trong SQL?
  • Làm cách nào để xóa một trích dẫn từ truy vấn MySQL?

Bạn có thể dễ dàng thoát khỏi các trích dẫn đơn, trích dẫn kép, apostrophe, backticks và các ký tự đặc biệt khác bằng cách thêm dấu gạch chéo ngược (\) trước ký tự đó.

  • Tôi có một vấn đề khó hiểu mà tôi dường như không thể hiểu được ...
  • Nội phân Chính show

Tôi có hai câu lệnh SQL:

Dữ liệu từ một biểu mẫu có được xử lý khác với dữ liệu được ghi dưới dạng không?

Truy vấn 1 - Điều này hoạt động mà không có vấn đề (và không thoát khỏi trích dẫn duy nhất)

$result = mysql_query("INSERT INTO job_log
(order_id, supplier_id, category_id, service_id, qty_ordered, customer_id, user_id, salesperson_ref, booking_ref, booking_name, address, suburb, postcode, state_id, region_id, email, phone, phone2, mobile, delivery_date, stock_taken, special_instructions, cost_price, cost_price_gst, sell_price, sell_price_gst, ext_sell_price, retail_customer, created, modified, log_status_id)
VALUES
('$order_id', '$supplier_id', '$category_id', '{$value['id']}', '{$value['qty']}', '$customer_id', '$user_id', '$salesperson_ref', '$booking_ref', '$booking_name', '$address', '$suburb', '$postcode', '$state_id', '$region_id', '$email', '$phone', '$phone2', '$mobile', STR_TO_DATE('$delivery_date', '%d/%m/%Y'), '$stock_taken', '$special_instructions', '$cost_price', '$cost_price_gst', '$sell_price', '$sell_price_gst', '$ext_sell_price', '$retail_customer', '".date('Y-m-d H:i:s', time())."', '".date('Y-m-d H:i:s', time())."', '1')");

Truy vấn 2 - Điều này thất bại khi nhập tên với một trích dẫn duy nhất (ví dụ: O'Brien)

$query = mysql_query("INSERT INTO message_log
(order_id, timestamp, message_type, email_from, supplier_id, primary_contact, secondary_contact, subject, message_content, status)
VALUES
('$order_id', '".date('Y-m-d H:i:s', time())."', '$email', '$from', '$row->supplier_id', '$row->primary_email' ,'$row->secondary_email', '$subject', '$message_content', '1')");

Là một nhà phát triển PHP/MySQL, bạn có một số thực tiễn đáng chú ý và sử dụng mọi thời điểm khác. Một trong những là làm thế nào để thoát khỏi báo giá đơn trong PHP trong khi làm việc với cơ sở dữ liệu MySQL. Trong bài viết này, tôi sẽ minh họa cách thoát khỏi trích dẫn đơn trong PHP/MySQLSingle Quote in PHP/MySQL

Thoát khỏi đề cập đến quá trình mã hóa dữ liệu chứa các ký tự để MySQL diễn giải chính xác. Để làm điều này, bạn phải thoát khỏi các chuỗi với hàm PHP được gọi là




HelloWorld
1. Điều này có nghĩa là bạn phải chạy chức năng này trong PHP trước khi chuyển truy vấn của bạn đến cơ sở dữ liệu. Thực tiễn tốt bình thường là thoát khỏi bất kỳ dữ liệu nào đi vào cơ sở dữ liệu của bạn từ một nguồn vĩnh cửu để tránh tiêm SQL tiềm năng.refers to the process of encoding data containing characters so that MySQL interprets it correctly. To do this, you MUST escape strings with a PHP function known as



HelloWorld
1. This means that you have to run this function in PHP before passing your query to the database. Normal good practice is to escape any data that comes into your database from an eternal source so as to avoid potential SQL injection.

Bạn phải thoát dữ liệu của bạn & nbsp; trước & nbsp; bạn xây dựng truy vấn của mình. Ngoài ra, bạn có thể xây dựng truy vấn của mình theo chương trình bằng cách sử dụng các cấu trúc vòng lặp PHP và & NBSP; ________ 22:

Ví dụ 1: Sử dụng kiểu định hướng đối tượng

Trong khi sử dụng phương thức hướng đối tượng, bạn thoát khỏi các ký tự trong các chuỗi như hình dưới đây:

 connect_errno) {
  echo "Failed to connect to MySQL: " . $conn -> connect_error;
  exit();
}

// Escape special characters, if any
$fname = $conn -> real_escape_string($_POST['studentname']);
$lname = $conn -> real_escape_string($_POST['lastname']);
$grade = $conn -> real_escape_string($_POST['grade']);

$quest="INSERT INTO students (fName, LName, grade) VALUES ('$fname', '$lname', '$grade')";
 $stmt = $conn->prepare('SELECT * FROM items WHERE category = ?');
 $stmt->bind_param('s', $categ); 

 $stmt->execute();

if (!$conn -> query($quest)) {
  printf("%d Row inserted Successfully!\n", $conn->affected_rows);
}

$conn -> close();
?>



Advertisement

Ví dụ 2: Sử dụng phương pháp thủ tục


Advertisement

Làm thế nào nó hoạt động

Định nghĩa và cách sử dụng

Real_escape_String () / mySQLI_REAL_ESCAPE_STRING () Hàm thoát khỏi các ký tự đặc biệt trong một chuỗi để sử dụng trong truy vấn SQL, có tính đến bộ ký tự hiện tại của kết nối. Ví dụ: trong khi làm việc với các chuỗi sử dụng các trích dẫn đơn lẻ, như những người khác tên, ví dụ: O hèNeil, bạn cần xử lý việc này bằng cách sử dụng chức năng real_escape_string () / mysqli_real_escape_string ().

Hàm này được sử dụng để tạo chuỗi SQL hợp pháp mà bạn có thể sử dụng trong câu lệnh SQL. Chuỗi đã cho được mã hóa để tạo ra một chuỗi SQL đã thoát, có tính đến bộ ký tự hiện tại của kết nối.

Làm thế nào Escape Trích dẫn đơn PHP?

Trong PHP, một chuỗi thoát bắt đầu với một dấu gạch chéo ngược \. Trình tự thoát áp dụng cho các chuỗi được trích dẫn kép. Một chuỗi được trích xuất một chỉ sử dụng các chuỗi thoát cho một trích dẫn hoặc dấu gạch chéo ngược.A single-quoted string only uses the escape sequences for a single quote or a backslash.

Làm cách nào để thoát khỏi một trích dẫn trong mysql?

Để chèn dữ liệu nhị phân vào một cột chuỗi (chẳng hạn như cột Blob), bạn nên biểu diễn một số ký tự nhất định bằng trình tự thoát. Backslash (\) và ký tự trích dẫn được sử dụng để trích dẫn chuỗi phải được thoát. Trong một số môi trường khách hàng nhất định, cũng có thể cần phải thoát NUL hoặc điều khiển+z.Backslash ( \ ) and the quote character used to quote the string must be escaped. In certain client environments, it may also be necessary to escape NUL or Control+Z.

Làm thế nào để bạn thoát khỏi một trích dẫn duy nhất trong SQL?

Phương pháp đơn giản nhất để thoát khỏi các trích dẫn đơn trong SQL là sử dụng hai trích dẫn đơn. Ví dụ: nếu bạn muốn hiển thị giá trị O'Reilly, bạn sẽ sử dụng hai trích dẫn ở giữa thay vì một. Trích dẫn duy nhất là ký tự thoát trong Oracle, SQL Server, MySQL và PostgreSQL.use two single quotes. For example, if you wanted to show the value O'Reilly, you would use two quotes in the middle instead of one. The single quote is the escape character in Oracle, SQL Server, MySQL, and PostgreSQL.

Làm cách nào để xóa một trích dẫn từ truy vấn MySQL?

Bạn có thể dễ dàng thoát khỏi các trích dẫn đơn, trích dẫn kép, apostrophe, backticks và các ký tự đặc biệt khác bằng cách thêm dấu gạch chéo ngược (\) trước ký tự đó.adding a backslash (\) before that character.