문제:
이미지를 저장하려고 합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!