1 回答

TA貢獻(xiàn)2012條經(jīng)驗 獲得超12個贊
我首先將代碼更改為 PDO,并且沒有在沒有任何反引號或“”的情況下插入數(shù)據(jù)庫,而是按照注釋部分中的建議,在將圖像插入數(shù)據(jù)庫時添加了反引號和“”。
$conn->exec( "INSERT INTO car_detailss? (car_name , imageOfcar) VALUES ('$carname', '$imagename')");
現(xiàn)在我可以將圖像插入到我的數(shù)據(jù)庫中。我也在這里更新了我的代碼。
我的代碼:
<!doctype html>
<html>
? ? <head>
? ? ? ? <title>Test</title>
? ? </head>
? ? <body>
? ? <form? ?method="post" enctype="multipart/form-data">
? ? ? ? ? ?<input type="file" name="userfile[]" multiple="" />?
? ? ? ? ? ?<input type="submit" name="submit" value="upload" />
? ? </form>
? ? <?php
? ? ? $servername="localhost";
? ? ? $username="root";
? ? ? $password = "";
? ? ? $dbname="image_upload";
? ? ? try {
? ? ? $conn = new PDO("mysql:host=$servername;dbname=$dbname",$username, $password);
? ? ? $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
? ? ? // begin the transaction
? ? ? $conn->beginTransaction();
? ? ??
? ? ??
$phpFileUploadErrors = array(
? ? 0 => "There is no error, the file uploaded with success",
? ? 1 => "The uploaded file exceeds the upload_max_filesize directive in php.ini",
? ? 2 => "The upload file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form",
? ? 3 => "The upload file was only partially uploaded",
? ? 4 => "No file was uploaded",
? ? 6 => "Missing a temporary folder",
? ? 7 => "Failed to write file to disk.",
? ? 8 => "A php extension stopped the file upload"
);
? ? if(isset($_FILES['userfile'])) {
? ? ??
? ? ? ?$file_array = reArrayFiles($_FILES['userfile']);
? ? ? ?pre_r($file_array);
? ? ? ? for($i=0;$i<count($file_array);$i++) {
? ? $carname = $file_array[$i]["size"];
? ? $tablename = "car_detailss";
? ? ? ? ? ? $imagename = $file_array[$i]["name"];
? ? ? ? ? ?
? ? ? ? ? ? $conn->exec( "INSERT INTO `car_detailss` (`car_name`, `imageOfcar`) VALUES ('$carname', '$imagename')");
? ? ? ? ??
? ? ? ? ??
? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? ?
? ? ? ? ?
? ? ? ? }
? ? ? ? $conn->commit();
? ? ? ? echo "new records created succesfully";
? ? } catch(PDOException $e) {
? ? ? ? // roll back the transaction if something failed
? ? ? ? $conn->rollback();
? ? ? ? echo "Error: " . $e->getMessage();
? ? ? }
? ? ??
? ? ? $conn = null;
? ? ? ?
? ??
? ? ??
?
? ??
?function reArrayFiles($file_post) {
? ? ?$file_ary = array();
? ? ?$file_count = count($file_post['name']);
? ? ?$file_keys = array_keys($file_post);
? ? ?for ($i = 0; $i < $file_count; $i++){
? ? ?foreach($file_keys as $key) {
? ? ? ? ?$file_ary[$i][$key] = $file_post[$key][$i];
? ? ?
? ? ?}
?}
?return $file_ary;
}
? ? function pre_r($array) {
? ? ? ? echo '<pre>';
? ? ? ? print_r($array);
? ? ? ? echo '</pre>';
? ? }
? ??
? ? ?>
? ??
? ? </body>
</html>
- 1 回答
- 0 關(guān)注
- 130 瀏覽
添加回答
舉報