Im試圖上傳圖片在數據庫中,但當我檢查它是否上傳時,該字段爲空。我也想限制上傳文件格式jpeg,png和gif。請幫助上傳圖像,不工作
HTML
<form enctype="multipart/form-data" action="subePic.php" method="post" name="changer">
<input name="MAX_FILE_SIZE" value="102400" type="hidden">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" type="submit">
</form>
PHP
<?php
require('conecta.php');
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) {
$tmpName = $_FILES['image']['tmp_name'];
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);
$xSQL = "INSERT INTO FOTOS (PIC) VALUES(?)";
$stmt = $oConni->prepare($xSQL);
$stmt->bind_param('s', $data);
$stmt->execute() or die($oConni->error);
$stmt->close();
if(!$xSQL){
die("Database query failed: ". mysql_error());
}
print "Su foto fue subida con éxito";
}
else{
print "Error: no se subió ninguna imagen a la BD";
}
?>
哪個「字段」爲空?你的代碼中有很多可能的問題,其中之一就是你的「圖片」列的字段類型。 LONGBLOB,我希望。 – 2013-04-07 11:44:32
該列是LONGBLOB – jal 2013-04-07 11:47:17
那麼,爲什麼你插入一個非hex'd字符串?你需要傳遞給MySQL一個非二進制的參數。 – 2013-04-07 11:49:18