sql >> データベース >  >> RDS >> Mysql

入力ファイルタイプを使用して画像を編集する

    フォームにはenctype="multipart / form-data"がなく、フォームにはtype="file"がありません。

    以下のコードを入力して試してください。

    <?php
    require("db.php");
    $id =$_REQUEST['theId'];
    
    $result = mysql_query("SELECT * FROM table WHERE id  = '$id'");
    $test = mysql_fetch_array($result);
    
    $name=$test['Name'] ;
    $email= $test['Email'] ;                    
    $image=$test['Image'] ;
    
    if(isset($_POST['submit'])){    
    $name_save = $_POST['name'];
    $email_save = $_POST['email'];
    $image_save=$image //Added if image is not chose from the form post
    
    if (isset($_FILES['image']['tmp_name'])) {
    $file=$_FILES['image']['tmp_name'];
    $image= addslashes(file_get_contents($_FILES['image']['tmp_name']));
    $image_name= addslashes($_FILES['image']['name']);
    move_uploaded_file($_FILES["image"]["tmp_name"],"photos/" . $_FILES["image"]["name"]);
    $image_save ="photos/" . $_FILES["image"]["name"];
    }
    mysql_query("UPDATE table SET Name ='$name_save', Email  ='$email_save',Image ='$image_save' WHERE id = '$id'")
    or die(mysql_error()); 
    header("Location: index.php");      }
    ?>
    
    
    
    <form method="post" enctype="multipart/form-data">
    <table>
    <tr>
    <td>name:</td>
    <td><input type="text" name="name" value="<?php echo $name ?>"/></td>
    </tr>
    <tr>
    <td>email</td>
    <td><input type="text" name="email" value="<?php echo $email ?>"/></td>
    </tr>
    
    <tr>
    <td>image</td>
    <td><input type="file" name="image" /></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="submit" value="submit" /></td>
    </tr>
    </table>
    

    さらに、更新中に画像が選択されていない場合は、SQLを使用して以前の画像値を取得し、更新する必要があります。



    1. MySQLで先頭の空白を削除する方法

    2. SQLを使用して垂直方向のデータを水平方向のデータに変換するにはどうすればよいですか?

    3. 大文字化を自動化できる列を定義するにはどうすればよいですか?

    4. SQLデータベースに重みを格納するためのベストプラクティス?