我已成功在 MYSQL 中上传图片,但是图片上传后出现以下错误。
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in x:\xxx\xxxx\xxxx\upload.php on line 6 done
if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysql_connect("localhost", "root", "root");
mysql_select_db ("test");
$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES('{$imageProperties['mime']}', '{$imgData}')";
$current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" . mysql_error());
if(isset($current_id)) {
echo "done";
}
}
}
最佳答案
这是因为您使用的 PHP 版本不支持 mysql_* 函数,而需要使用 mysqli_* 函数。 (http://php.net/manual/en/mysqli.summary.php)
您的代码将如下所示:
if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysqli_connect("localhost", "root", "root");
mysqli_select_db ("test");
$imgData =addslashes(file_get_contents($_FILES['userImage']['tmp_name']));
$imageProperties = getimageSize($_FILES['userImage']['tmp_name']);
$sql = "INSERT INTO output_images(imageType ,imageData)
VALUES('{$imageProperties['mime']}', '{$imgData}')";
$current_id = mysqli_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" . mysqli_error());
if(isset($current_id)) {
echo "done";
}
}
}
我个人的建议是使用 PDO ( http://php.net/manual/en/book.pdo.php )
关于PHP上传图片后显示错误 "mysql extension is deprecated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31542191/