MariaDB 테이블의 INSERT에 이미지 업로드가 실패하고 PDO::PARAM_LOB
제 문제는 PDO를 사용할 때::html 형식에서 보낸 사진이 MariaDB 테이블에 삽입되지 않은 경우 bindParam() 메서드의 PARAM_LOB 매개 변수입니다.phpMyAdmin은 나중에 테이블 열 'photo'를 비워두도록 표시합니다.PDO를 사용하지 않을 때 이미지가 테이블에 성공적으로 삽입됩니다.:PARAM_LOB 그러나 이로 인해 다음과 같은 알림이 발생합니다.C:\xampp\htdocs\에서 배열을 문자열로 변환테스트 사이트\php-sell 폼 핸들러입니다.웹 페이지에서 사용자에게 표시할 80행의 php.텍스트를 업로드하고 PDO를 사용하는 동일한 양식의 다른 필드가 있습니다.PARAM_STR.이 텍스트 데이터는 항상 동일한 테이블에 성공적으로 삽입됩니다.PDO를 사용하여 작업에 삽입하려면 어떻게 해야 합니까::PARAM_LOB?
제가 S/O에서 찾을 수 있는 가장 가까운 문제는 PHP/PDO/MySQL입니다. MEDIABLOB에 삽입하면 잘못된 데이터가 저장됩니다. 그러나 이미지가 테이블에 실제로 삽입되지만 손상된 형태로 저장됩니다.
Apache/2.4.29(Win32) OpenSSL/1.1.0g PHP/7.2.2 및 10.1.30-Maria를 사용하고 있습니다.DB
내 코드는 다음과 같습니다.
$host = '127.0.0.1';
$db = 'test_db2';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
];
$pdo=new PDO($dsn, $user, $pass, $opt);
if (isset($_FILES ['photo'])) {
$photo=$_FILES['photo'];
$stmt_user = $pdo->prepare("INSERT INTO users_table1(photo) VALUES(:photo)");
$stmt_user->bindParam(':photo', $photo, PDO::PARAM_LOB);
$stmt_user->execute();
}
도와주셔서 감사합니다!
언급URL : https://stackoverflow.com/questions/49940352/uploading-image-to-insert-in-mariadb-table-fails-with-pdoparam-lob
'programing' 카테고리의 다른 글
도커 컨테이너의 셸에 어떻게 들어가나요? (0) | 2023.09.05 |
---|---|
Font Awesome 아이콘이 작동하지 않습니다. 필요한 파일을 모두 포함했습니다. (0) | 2023.09.05 |
도커 컨테이너에서 PATH 환경 변수를 영구적으로 업데이트하는 중 (0) | 2023.09.05 |
jQuery validator 플러그인 + ajax 제출이 작동하지 않음 (0) | 2023.09.05 |
ASP에서 리디렉션하는 방법.넷코어 레이저 페이지 (0) | 2023.09.05 |