Я пытаюсь обновить изображение профиля, сохраненное в таблице, с типом данных в виде BLOB в базе данных MySql.
Он просто ничего не загружает, когда я проверяю свою таблицу, он показывает длину данных как нулевые байты в столбце BLOB? Я использую подготовленное заявление, есть ли что-то, чего я не вижу ниже?
Худшая часть – это php-файл и не вызывает никакой ошибки, поэтому я запутался, что случилось?
HTML
<form action="php/updateProfilePicture.php" method="post" data-ajax="false" enctype="multipart/form-data"> <label for="file">Profile Picture:</label> <input type="file" name="file" id="file"><br> <input type="submit" name="submit" value="Submit"> </form>
PHP
<?php $con = mysqli_connect("localhost", "root", "root123", "xyz", "3306"); mysqli_select_db($con, "xyz"); $email = 'xyz@gmail.com'; $stmt = $con->prepare('UPDATE profileinformation SET Image = ? Where email = ? '); $null = null; $stmt->bind_param($null, $email); $stmt->send_long_data(0, file_get_contents($_FILES['file']['tmp_name'])); $stmt->execute(); if ($stmt->errno) { echo "FAILURE!!! " . $stmt->error; } else echo "Updated {$stmt->affected_rows} rows"; $stmt->close(); ?>
таблица профилей в MySql
CREATE TABLE `profileinformation` ( `email` varchar(45) NOT NULL, `Industry` varchar(100) DEFAULT NULL, `Company` varchar(100) DEFAULT NULL, `Phone` varchar(100) DEFAULT NULL, `Fax` varchar(45) DEFAULT NULL, `Address` varchar(200) DEFAULT NULL, `Website` varchar(100) DEFAULT NULL, `Image` blob, PRIMARY KEY (`email`) )