MySQL 데이터베이스에 이미지를 저장하려고 할 때 쿼리가 이미지를 삽입하지 못하면 문제가 발생할 수 있습니다. 이 문서에서는 이 문제에 대한 해결책을 제공합니다.
문제:
다음 쿼리에서 file_get_contents($tmp_image)는 함수 호출이 아닌 문자열로 처리됩니다.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','file_get_contents($tmp_image)')";
솔루션 1:
문자열에서 벗어나 명시적 연결 수행:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
해결책 2:
이진 데이터를 이스케이프하여 방지 잘못된 쿼리:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
해결책 3:
이미지를 파일 시스템에 저장하거나 클라우드 스토리지 서비스를 사용하여 데이터베이스 크기를 최소화합니다.
위 내용은 PHP를 사용하여 MySQL에 이미지(Blob)를 올바르게 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!