2013-08-02 29 views
-4

我已經創建了自己的網站,通過它,他可以輸入新的股票進入MySQL表筆記本電腦的管理形式,形式有6場 1. Modelno 2. CPU 3. RAM 4.硬盤 5。顯示 6.上傳如何將圖像插入到mysql表中?

當文件上傳到分配的目錄時,就像戰鬥的一半一樣,表筆記本電腦有一個BLOB類型的字段圖片,我該如何向該字段插入數據?

表單的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> 

+7

做什麼合理的人做:將圖像本身存儲在服務器文件系統中,並將文件名存儲在數據庫中 –

+3

可以在谷歌上找到此代碼。 –

+0

*旁註:*從不向公衆顯示您的憑據 – Raptor

回答

0

配置你的表感謝您提前BLOB和Base64編碼的圖像之前把它們放到桌子

+0

你確定嗎?數據庫不是存儲圖像的好地方。 – Raptor

+0

來吧。我們是專業人士。我們可以處理二進制。 –

+0

爲什麼base64encode如果它是一個BLOB? –

0

一般實踐中,我們上傳的圖片文件到Web服務器,然後將文件路徑信息保存在數據庫服務器中。

通過這種方法,數據庫大小可以保持較小

-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); 
?> 
+0

採取這樣的形式

+0

我只是想幫助他自己的代碼..所以他很容易理解。來吧,他是一個初學者。 –

+0

我不侮辱,我不討厭有問題的人。我只是討厭我看到的代碼,並且有成千上萬個更簡潔,更簡單,更容易理解代碼的例子。如果你修好了一輛汽車輪胎,它的幫助和幫助很大,但它仍然是放氣的。這個不成立。如果你不能生成好的代碼,那麼至少不會「幫助」壞的代碼。 –

2

它通常建議您不要將圖像直接存儲到數據庫中。而是將圖像位置存儲在服務器上,名稱爲&其他屬性。

但是,如果您想直接將其存儲在表中,則可以使用mysql中的LOAD_FILE函數。

請參閱此question。答案可能會有所幫助。