首页 > 解决方案 > 如何使用 php 和 mysql 将图像插入数据库和目标文件夹?

问题描述

我创建了一个测试表单,只是为了尝试将图像插入mysql 的“学生”表和“图像”文件夹。但图像未插入数据库和图像文件夹。下面的代码只是一个测试,我想提交但不是。

**Mysql Database:**
    CREATE TABLE  STUDENT
           (    
    STD_SL_NO INT(10) NOT NULL AUTO_INCREMENT, 
    STD_NAME VARCHAR(140) NOT NULL,
    STD_FNAME VARCHAR(140) NOT NULL,
    STD_MNAME VARCHAR(140) NOT NULL,
    STD_BDATE DATE NOT NULL,
    STD_GENDER VARCHAR(10) NOT NULL,
    STD_RELIGIOUS VARCHAR(20) NOT NULL,
    STD_CURR_ADDRESS TEXT NOT NULL,
    STD_MOBILE  CHAR(12),
    STD_ROLL_NO INT(10) NOT NULL,
    STD_PHOTO  BLOB, 
    USER_NAME VARCHAR(50), 
    ENTRY_DATE TIMESTAMP (6),
    PRIMARY KEY(STD_SL_NO, STD_ROLL_NO, STD_REG_NO)
    )ENGINE=InnoDB;
**Form HTML & PHP:**
<!DOCTYPE html>
<html>
<head>
<title> Student Information Entry Form </title>
</head>
<body>
<form name="form1" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<table>
<tr>
     <td><h4> Student Name</h4></td>
     <td> <h5> <input type="text" name="t1" size="30"/></h5></td>
</tr>
<tr>
        <td><h4> Student's Father Name</h4></td> 
        <td> <h5> <input type="text" name="t2" size="30"/></h5></td>
</tr>
<tr>
       <td><h4> Student's Mother Name</h4></td> 
       <td> <h5> <input type="text" name="t3" size="30"/></h5></td>
</tr>
<tr>
        <td><h4> Student's Birth Date</h4></td> 
       <td> <h5> <input type="date" name="t4" /></h5></td>
</tr>
<tr>
       <td><h4> Student's Gender </h4></td>
        <td>
              <?php
     $con=mysqli_connect("localhost", "root", "ew6wLoLOro", "result");
     $sql=mysqli_query($con, "select gender_sl_no, gender_name from gender");

                while($row=mysqli_fetch_array($sql))
                {
                    echo '<table>
      <input type="radio" name="t5" value='.$row['gender_name'].' 
         checked="checked"/>
                    '.$row['gender_name'].' 
                        </table>';
                }
                ?>
       </td>
 </tr>
 <tr>
        <td><h4> Please Select Your Religion</h4></td>
        <td> <h5>
                <div>
                    <select name="t6">
                        <option>Selection</option>
                        <?php

                $sql=mysqli_query($con, "select  religion_name from religion");
                   while($row=mysqli_fetch_array($sql))
                        {
                            ?>
                         <option> <?php echo $row["religion_name"]; ?></option>
                            <?php
                        }
                        ?>
                   </select> </div> </h5>
        </td>
    </tr>

<tr>
       <td><h4>House No/Village,P.O/<br>Detail address except above </h4></td>
       <td> <h5> <input type="text" name="t7" size="40" /></h5></td>
</tr>   
<tr>
            <td><h4>Entry Student Mobile No.</h4></td>
             <td> <h5> <input type="text" name="t15" maxlength="11" 
               onpaste="return false;" onkeypress="StdMobile(event)">
                <script>
                    function StdMobile(evt)
                    {
                        var anwar = String.fromCharCode(evt.which);
                        if(!(/[0-9]/.test(anwar)))
                        {
                            evt.preventDefault();
                        }
                    }
                </script>
                </h5></td>
</tr>
<tr>
        <td><h4> Student Roll No. </h4></td>
        <td> <h5> <input type="text" name="t23" maxlength="6" 
              onkeypress="StdRoll(event)" >
        <script>
        function StdRoll(evt)
        {
            var elaf=String.fromCharCode(evt.which);
            if(!(/[0-9]/.test(elaf)))  
            {
                evt.preventDefault();
            }
        }
        </script>

        </h5></td>
</tr>
<tr>
        <td><h3> Student Photo</h3></td>
        <td> <h5> <input type="file" name="file"/>
        </h5></td>
</tr>
<tr>
        <td> </td>
            <td><input type ="submit" name="submit"/> </td>
        </tr>
</table>
</form>
<?php

$con=mysqli_connect("localhost", "root", "ew6wLoLOro", "result");
if(!$con)
{
    die('Could not connect:'.mysqli_connect_error());
}

if(isset($_POST['submit']))
{
    $t1 = (isset($_POST['t1']) ? $_POST['t1']:null);
    $t2 = (isset($_POST['t2']) ? $_POST['t2']:null);
    $t3 = (isset($_POST['t3']) ? $_POST['t3']:null);
    $t4 = (isset($_POST['t4']) ? $_POST['t4']:null);
    $t5 = (isset($_POST['t5']) ? $_POST['t5']:null);
    $t6 = (isset($_POST['t6']) ? $_POST['t6']:null);
    $t7 = (isset($_POST['t7']) ? $_POST['t7']:null);
    $t15 = (isset($_POST['t15']) ? $_POST['t15']:null);
    $t23 = (isset($_POST['t23']) ? $_POST['t23']:null);
    $file = (isset($_FILES['file']));
    $file_name = $file['name'];
    $file_type = $file ['type'];
    $file_size = $file ['size'];
    $file_path = $file ['tmp_name'];
    if($file_name!="" && ($file_type="image/jpeg"||$file_type="image/png"||$file_type="image/gif")&& $file_size<=614400)
    {
    if(move_uploaded_file ($file_path,'images/'.$file_name))
    {

$query="插入学生值(默认,'$t1','$t2','$t3','$t4','$t5','$t6','$t7','$t15' , '$t23', '$file_name', 默认, 默认)";

    $result = mysqli_query($con, $query);
    if($result==true)
   {
    echo "File Uploaded";
   }

    }       
    }

}


?>

标签: phpmysql

解决方案


尝试使用此代码

形式

<form enctype="multipart/form-data" action="insert_image.php" method="post" name="changer">
  <input name="image" accept="image/jpeg" type="file">
  <input value="Submit" type="submit">
</form>

PHP 代码”

<?php

      include 'conf.php';

      if ($_FILES["image"]["error"] > 0)
      {
           echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
           echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
      }
      else
      {
           move_uploaded_file($_FILES["image"]["tmp_name"],"images/" . $_FILES["image"]["name"]);
           echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>";

           $file="images/".$_FILES["image"]["name"];
           $sql="INSERT INTO eikones (auxon, path) VALUES ('','$file')";

           if (!mysql_query($sql))
           {
            die('Error: ' . mysql_error());
           }
           echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE";
      }

      mysql_close();

?>


推荐阅读