MySQL 삽입을 위해 PHP에서 작은따옴표 이스케이프
PHP에서 MySQL 데이터베이스에 데이터를 삽입할 때 작은따옴표와 같은 특수 문자로 인해 오류가 발생할 수 있습니다. . 이를 방지하려면 이러한 문자를 쿼리에 삽입하기 전에 이스케이프 처리하는 것이 중요합니다.
질문에 설명된 문제는 출처에 따라 데이터가 다르게 수집되고 삽입되기 때문에 발생합니다. 쿼리 1은 제출된 양식에서 데이터를 직접 수집하므로 이스케이프 처리되지 않은 작은따옴표가 발생할 가능성이 있습니다. 그러나 쿼리 2에서는 먼저 데이터베이스에서 데이터가 추출되며, 여기서 Magic_quotes_gpc가 활성화된 경우 작은따옴표가 이미 이스케이프되었을 수 있습니다.
해결책은 mysql_real_escape_string()을 사용하여 두 쿼리 모두에서 일관되게 작은따옴표를 이스케이프하는 것입니다. 이 함수는 특수 문자를 이스케이프하고 작은따옴표가 데이터에 나타날 때에도 올바른 처리를 보장합니다.
예:
<code class="php">$escaped_name = mysql_real_escape_string($name); $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', '$escaped_name', '1')");</code>
MySQL에 데이터를 삽입하기 전에 PHP에서 작은따옴표를 일관되게 이스케이프 처리합니다. , 잠재적인 오류를 방지하고 정확한 데이터 처리를 보장할 수 있습니다.
위 내용은 PHP에서 MySQL 삽입을 위해 작은따옴표를 올바르게 이스케이프하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!