"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 구문 오류를 방지하기 위해 MySQL 삽입 쿼리에서 아포스트로피를 올바르게 처리하는 방법은 무엇입니까?

구문 오류를 방지하기 위해 MySQL 삽입 쿼리에서 아포스트로피를 올바르게 처리하는 방법은 무엇입니까?

2024-11-07에 게시됨
검색:593

How to Correctly Handle Apostrophes in MySQL Insert Queries to Prevent Syntax Errors?

MySQL 삽입 쿼리에서 아포스트로피 처리

MySQL에서 아포스트로피(작은따옴표)가 포함된 삽입 쿼리에는 구문 오류가 발생할 수 있습니다. 특히 아포스트로피와 관련하여 "SQL 구문에 오류가 있습니다..." 오류가 발생하는 경우 성공적인 데이터 삽입을 보장하는 솔루션이 있습니다.

핵심 솔루션은 백슬래시(\ ) 성격. 예를 들어 "Kellog's"라는 문자열은 "Kellogg\'s"로 작성해야 합니다. 백슬래시로 아포스트로피를 이스케이프함으로써 MySQL은 다음 문자를 구문 표시기가 아닌 리터럴로 해석합니다.

또한 삽입할 데이터를 준비할 때 MySQL의 mysql_real_escape_string() 함수를 활용하는 것이 좋습니다. 이 기능은 아포스트로피를 포함한 특수 문자를 자동으로 이스케이프하여 잠재적인 SQL 삽입에 대한 포괄적인 보호 기능을 제공합니다. 다음 예를 고려하십시오.

function insert($database, $table, $data_array) {
    $mysql_connect = connect_to_database();
    mysql_select_db($database, $mysql_connect);

    foreach ($data_array as $key => $value) {
        $tmp_col[] = $key;
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escaping
    }

    $columns = join(',', $tmp_col);
    $data = join(',', $tmp_dat);

    $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
    $result = mysql_query($sql, $mysql_connect);

    if (!$result) {
        echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
        $result = '';
    } else {
        return $result;
    }
}

이 방법을 사용하면 구문 오류나 보안 취약점 없이 MySQL 테이블에 아포스트로피가 포함된 데이터를 삽입할 수 있습니다.

릴리스 선언문 이 글은 1729688123에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3