使用一个blob
字段。
在 MySQL 中,有一个数据类型叫做blob
. 您可以使用它来创建它。
有一个关于如何做到这一点的教程。
将图像插入数据库:
# If no error
if($_FILES['userfile']['error']==UPLOAD_ERR_OK)
{
# Check if the file is uploaded via HTTP POST
if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$imgData = file_get_contents($_FILES['userfile']['tmp_name']);
mysqli_connect("localhost", "$username", "$password");
mysqli_select_db ("$dbname");
$sql = "INSERT INTO `users` ( `idimage` ) VALUES ('{$imgData}')";
mysqli_query($sql);
}
}
显示来自数据库的图像:
<?php
if(isset($_GET['id']) && is_numeric($_GET['id'])) {
# Connect to DB
$link = mysqli_connect("$hostname", "$username", "$password") or die("Could not connect: " . mysqli_error());
mysqli_select_db("$database") or die(mysqli_error());
# SQL Statement
$sql = "SELECT `idimage` FROM `users` WHERE id=" . mysqli_real_escape_string($_GET['id']) . ";";
$result = mysqli_query("$sql") or die("Invalid query: " . mysqli_error());
# Set header
header("Content-type: image/png");
echo mysqli_result($result, 0);
}
else
echo 'Please check the ID!';
?>
最好避免mysql_*
使用函数,而是使用mysqli_*
or PDO
。