我正在尝试在MySQL数据库中插入多个图像。当我在数据库中插入单个图像时,该程序工作正常,但现在当我添加3个图像时,它给我一个错误消息。它没有给出任何MySQL错误消息。请检查一下。 感谢
不是有效图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<a href="dashboard.php"> Dashboard </a>
</body>
</html>
<?php
error_reporting(E_PARSE); //To Remove Notices!!
global $current_id;
session_start();
if(isset($_SESSION['username']))
{
include 'connect.php';
$select_query= 'Select * from category';
$select_query_run = mysql_query($select_query);
echo "
<form action='insert_product.php' method='POST' enctype='multipart/form-data' ></br>
Product Name: <input type='text' name='product_name' /></br>
Price : <input type= 'text' name= 'price' /></br>
Description : <input type='text' name='description' />*Seperate by Comma</br>
Image1 : <input type='file' name= 'image' >
Image2 : <input type='file' name= 'image' >
Image3 : <input type='file' name= 'image3' >
";
/*------------------
Drop Down List Start
------------------*/
echo "<select name='category'>";
while ($select_query_array= mysql_fetch_array($select_query_run) )
{
echo "<option value='".$select_query_array['category_id']."' >".
htmlspecialchars($select_query_array["name"])."</option>";
}
$selectTag= "<input type='submit' value='Insert' /></select></form>";
echo $selectTag;
/*-----------------
Drop Down List End
------------------*/
if(isset($_POST['product_name']) && isset($_POST['price']) && isset($_POST['description']) )
{
$product_name = $_POST['product_name'];
$price = $_POST['price'];
$description = $_POST['description'];
$category = $_POST['category'];
$query= "insert into products (name, price, description, category_id )
VALUES( '$product_name', $price, '$description', $category )";
if($query_run= mysql_query($query) )
{
echo 'Data Inserted';
$current_id= mysql_insert_id();
//$_SESSION['current_id']= mysql_insert_id();
}
else
{
'Error In SQL'.mysql_error();
}
}
else
{
echo 'Plesae fill all the Fields';
}
/*-------------------
IMAGE QUERY
---------------*/
$file =$_FILES['image']['tmp_name'];
if(!isset($file))
{
echo 'Please select an Image';
}
else
{
$image_check= getimagesize($_FILES['image']['tmp_name']);
$image_check2= getimagesize($_FILES['image2']['tmp_name']);
$image_check3= getimagesize($_FILES['image3']['tmp_name']);
if($image_check==false || $image_check2==false || $image_check3==false)
{
echo 'Not a Valid Image';
}
else
{
/*
$image =file_get_contents ($_FILES['image']['tmp_name'] );
$image_name =$_FILES['image']['name'];
$image_query ="insert into product_images VALUES ($current_id, '$image_name', '$image')";
*/
//For Image 1
$image =mysql_real_escape_string(file_get_contents ($_FILES['image']['tmp_name']));
$image_name =mysql_real_escape_string($_FILES['image']['name']);
$image_query ="insert into product_images VALUES ($current_id, '$image_name', '$image')";
//For Image2
$image2= mysql_real_escape_string(file_get_contents($_FILES['image2']['tmp_name']));
$image2_name= mysql_real_escape_string($_FILES['image2']['name']);
$image2_query= "insert into product_images VALUES ($current_id,'$image2_name','$image2')";
//For Image3
$image3= mysql_real_escape_string(file_get_contents($_FILES['image3']['tmp_name']));
$image3_name= mysql_real_escape_string($_FILES['image3']['name']);
$image3_query= "insert into product_images VALUES ($current_id, '$image3_name', '$image3')";
// $image_query= "INSERT INTO `product_images` (`product_id`, `name`, `image`)
//VALUES ('1', '{$image_name}', '{$image}')";
if (mysql_query($image_query) && mysql_query($image3_query) && mysql_query($image2_query))
{
//if ($image_query =mysql_query (insert into product_images values
// ($current_id, $image_name, $image"))
// echo $current_id;
//echo 'Successfull';
}
else
{
echo "<br>". mysql_error();
}
}
}
/*-----------------
IMAGE QUERY END
---------------------*/
}
else
{
echo 'You Must Log in To View this Page!';
}
?>
答案 0 :(得分:0)
你有
图片2:输入类型='文件'名称='图像'&gt;
不应该是
图片2:输入类型='文件'名称='图像2'&gt;
答案 1 :(得分:0)
您不能将2 <input type="file">
与name
相同。尝试将其重命名为不同的名称,并逐个处理它们。
即。第二个文件输入image
应为image2
。
另外,根据下面的评论,3个图像超过了最大上传大小,这导致Web服务器终止了POST请求。尝试增加php.ini中的upload_max_filesize
或ini_set()
。
此外,以下是我在问题评论中发布的一些旁注(您的代码存在潜在问题):
停止使用已弃用的mysql_*
函数。改为使用MySQLi或PDO。
您的代码会受到SQL注入攻击,因为您可以直接在查询中插入POST值。