> 데이터 베이스 > MySQL 튜토리얼 > PHP를 사용하여 MySQL 데이터베이스에 이미지를 올바르게 삽입하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 데이터베이스에 이미지를 올바르게 삽입하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-31 13:17:18
원래의
904명이 탐색했습니다.

How to Properly Insert Images into a MySQL Database Using PHP?

PHP를 사용하여 MySQL 데이터베이스에 이미지를 삽입하는 방법

문제:

이미지를 저장하려고 합니다. MySQL 데이터베이스이지만 프로그램이 이미지를 삽입하지 않습니다. data.

제공된 코드 발췌:

    $file = $_FILES['image']['tmp_name'];
    ...
    if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )"))
    {
        ...
    }
로그인 후 복사

오류 메시지:

SQL에 오류가 있습니다. 통사론; 올바른 구문은 MySQL 서버 버전에 해당하는 설명서를 확인하세요.

해결책:

1. 이미지 열이 BLOB 유형인지 확인:
이미지를 저장하는 데 사용하는 열이 BLOB 데이터 유형인지 확인하세요.

2. 입력 데이터 삭제:
SQL 쿼리를 처리하고 SQL 주입을 방지하기 위해 입력 데이터에서 특수 문자를 이스케이프하려면 MySQLi 함수를 사용하세요.

수정된 코드(ID는 항상 '1'이라고 가정) ):

$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);

$query = "INSERT INTO product_images (id, image, image_name) VALUES ('1', '{$image}', '{$image_name}')";

if (mysqli_query($conn, $query)) {
    ...
}
로그인 후 복사

3. HTML 양식 업데이트:
파일 업로드에 올바른 enctype 속성을 사용하려면 HTML 양식을 업데이트해야 합니다.

<form action="insert_product.php" method="POST" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" />
</form>
로그인 후 복사

4. 디스크에 파일 저장(선택 사항):
대량 데이터의 경우 MySQL 데이터베이스를 사용하는 대신 디스크에 이미지 파일을 저장하는 것이 좋습니다. 이렇게 하면 성능이 향상되고 데이터베이스 부하가 줄어들 수 있습니다.

위 내용은 PHP를 사용하여 MySQL 데이터베이스에 이미지를 올바르게 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿