-4

我为我的网站管理员创建了一个表单,他可以通过该表单将新库存输入到 mysql 表笔记本电脑中,该表单有 6 个字段 1. Modelno 2. CPU 3. RAM 4. HDD 5. Display 6. Upload

当文件被上传到分配的目录时,这就像战斗的一半,台式笔记本电脑有一个 BLOB 类型的字段 pic,我如何在该字段中插入数据?

表单的html代码如下:

<html>
<head>
</head>
<body>
<form action="stockm.php" method="post">
<table cellspacing="10">
<tr>
<td>
Model No:
</td>
<td>
<input type="text" name="fname">
</td>
</tr>
<tr>
<td>
C.P.U:
</td>
<td>
<input type="text" name="fcpu">
</td>
</tr>
<tr>
<td>
RAM:
</td>
<td>
<input type="text" name="fram">
</td>
</tr>
<td>
HDD:
</td>
<td>
<input type="text" name="fhdd">
</td>
</tr>
<td>
Display:
</td>
<td>
<input type="text" name="fdisplay">
</td>
</tr>
<tr>
<td>
Upload: 
</td>
<td>
<input type="file" name="file" id="file"><br>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="fsubmit" value="Deposit"> 
</table>
</form>
</body>
</html>

数据输入的代码是这样的,请告诉我我需要添加什么?

<html>
<head>
</head>
<body>
<?php
$con=mysqli_connect("localhost","****","******","stock");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO Laptops (Modelno, Cpu, RAM, HDD, Display)
VALUES
('$_POST[fname]','$_POST[fcpu]','$_POST[fram]','$_POST[fhdd]','$_POST[fdisplay]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?>
</body>
</html>

先感谢您

4

4 回答 4

2

通常建议您不要将图像直接存储到数据库中。而是将图像位置、名称和其他属性存储在您的服务器上。

但是,如果您想直接将其存储在表中,则可以使用 mysql 中的 LOAD_FILE 函数。

参考这个问题。答案可能会有所帮助。

于 2013-08-02T09:50:39.177 回答
0

将您的表配置为 blob,并在将它们放入表之前对您的图像进行 base64 编码

于 2013-08-02T09:46:14.887 回答
0

在一般的实践中,我们将图片文件上传到网络服务器,然后将文件路径信息保存在数据库服务器中。

使用这种方法,可以保持较小的数据库大小

于 2013-08-02T09:48:25.560 回答
-1
<?php
$con=mysqli_connect("localhost","cao","sTvs3bRmfvmWRGBc","stock");// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$ImageName = $_FILES['fdisplay']['name'];
$fileElementName = 'pimg';
$path = 'upload/';   // path where you want to save images
$location = $path . $_FILES['fdisplay']['name']; 
move_uploaded_file($_FILES['fdisplay']['tmp_name'], $location); 
$sql="INSERT INTO Laptops (Modelno, Cpu, RAM, HDD, Display)
VALUES
('$_POST[fname]','$_POST[fcpu]','$_POST[fram]','$_POST[fhdd]','$ImageName')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
于 2013-08-02T09:48:55.133 回答