>  기사  >  데이터 베이스  >  데이터 삽입 시 아포스트로피를 처리할 때 MySQL 오류를 극복하는 방법은 무엇입니까?

데이터 삽입 시 아포스트로피를 처리할 때 MySQL 오류를 극복하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-23 23:01:30703검색

How to Overcome MySQL Error When Dealing with Apostrophes in Data Insertion?

데이터 삽입 시 아포스트로피로 인한 MySQL 오류 해결

작은따옴표가 포함된 데이터를 MySQL 데이터베이스에 삽입하려고 하면 오류가 발생할 수 있습니다. 오류 메시지는 일반적으로 따옴표 문자 근처의 구문 문제를 나타냅니다.

이 문제를 해결하려면 데이터 내의 따옴표를 백슬래시()로 이스케이프 처리하세요. 예를 들어 "Kellogg's"는 "Kellogg's"로 작성해야 합니다.

또한 보안 강화를 위해 mysql_real_escape_string 함수를 사용하여 사용자가 제공한 모든 입력을 이스케이프하여 SQL 삽입을 방지하는 것이 좋습니다.

두 기술을 모두 통합한 다음 버전의 삽입 기능을 고려해 보세요.

<code class="php">function insert($database, $table, $data_array) {
    // Establish MySQL connection and select database
    $mysql_connect = connect_to_database();
    mysql_select_db($database, $mysql_connect);

    // Prepare column and data values for SQL command
    foreach ($data_array as $key => $value) {
        $tmp_col[] = $key;
        $tmp_dat[] = "'" . mysql_real_escape_string($value) . "'"; // Escape against SQL injections
    }
    $columns = join(',', $tmp_col);
    $data = join(',', $tmp_dat);

    // Construct and execute SQL command
    $sql = 'INSERT INTO ' . $table . '(' . $columns . ')VALUES(' . $data . ')';
    $result = mysql_query($sql, $mysql_connect);

    // Handle SQL errors or return result
    if (!$result) {
        echo 'MySQL Update Error: ' . mysql_error($mysql_connect);
        $result = '';
    } else {
        return $result;
    }
}</code>

위 내용은 데이터 삽입 시 아포스트로피를 처리할 때 MySQL 오류를 극복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.