2013-08-02 3 views
-4

Я создал форму для администратора моего сайта, через который он может ввести новые акции в таблице ноутбуков MySQL, форма имеет 6 полей 1. ModelNo 2. CPU 3. RAM 4. HDD 5. Дисплей 6. ЗагрузитьКак вставить изображение в таблицу mysql?

Когда файл загружается, он переходит в назначенный каталог, который похож на половину битвы, а настольный ноутбук имеет поле pic типа 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

Код для этого можно найти в google. –

+0

* sidenote: * никогда не показывать свои учетные данные общественности – Raptor

ответ

0

настроить вашу таблицу сгусток, и base64 кодирования изображения, прежде чем поместить их в таблицу

+0

Вы уверены? База данных не является хорошим местом для хранения изображений. – Raptor

+0

Приходите один. Мы профессионалы. Мы можем обрабатывать двоичные файлы. –

+0

Почему base64encode, если это BLOB? –

0

В общей практике, мы загрузить файл изображения на веб-сервер, а затем сохранить информацию о пути к файлу на сервере базы данных.

При таком подходе размер базы данных может быть небольшим

-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

Его обычно рекомендуется не хранить изображения непосредственно в базу данных. Вместо этого сохраните местоположение изображения на своем сервере, введите & другие атрибуты.

Но если вы хотите сохранить его в таблице прямо в любом случае, есть функция LOAD_FILE в mysql, которую вы можете использовать.

См. Это question. ответы могут быть полезными.

Смежные вопросы