繁体   English   中英

上载的图像未保存在数据库中

[英]The Uploaded Image doesn't Save on the database

我有一个上传图片的按钮,每次上传图片时,图片都不会保存在数据库中,也不会出现错误,

这是我的代码:

<td>
  <form method="POST" enctype="multipart/form-data">
    <input type="file" name="file" required>
        <button type="submit" name="files" class="btn btn-primary btn-xs">
            Submit
        </button>
        <?php
            if(isset($_POST['files']))
              {
                $userid = $row['stall_id'];
                $a = $_FILES['file']['name'];
                $ab = $_FILES['file']['tmp_name'];
                $location = "".$a;
                move_uploaded_file($ab, "../pictures/".$location);

                $sql2 = $conn->prepare("UPDATE stall SET file = ? WHERE stall_id = ?");
                $sql2->execute(array($location,$userid));

            if($sql){                                                   
                echo '
                <script>                                                        
                    window.location = "stalls.php"
                </script>';                                                 
                    }
                    }
                ?>
</td> 

我想通了自己

<td>
<form method="POST" enctype="multipart/form-data">
    <input type="file" name="file" required>
    <input type="hidden" name="stall_id" value="<?php echo $value['stall_id']?>">
    <button type="submit" name="files" class="btn btn-primary btn-xs">
    Submit
    </button>
    <?php
    if(isset($_POST['files']))
    {
    $userid = $_POST['stall_id'];
    $a = $_FILES['file']['name'];
    $ab = $_FILES['file']['tmp_name'];
    $location = "".$a;
    move_uploaded_file($ab, "../pictures/".$location);

    $sql2 = $conn->prepare("UPDATE stall SET file = ? WHERE stall_id = ?");
    $sql2->execute(array($location,$userid));

    if($sql2){                                                   
    echo '
    <script>                    
    window.location = "stalls.php"
    </script>';                                                 
    }
    }
    ?>
    </td>
  1. 请在Prepare语句后绑定参数。 检查docs- http://php.net/manual/en/mysqli.prepare.php
  2. 如果条件放在$ update(执行的返回值)而不是sql中
  3. 关闭</form>标记。
  4. 检查所有具有数据的变量。 使用var_dump()print_r()echo()方法进行检查。

     <td> <form method="POST" enctype="multipart/form-data"> <input type="file" name="file" required> <button type="submit" name="files" class="btn btn-primary btn-xs"> Submit </button> </form> </td> <?php if(isset($_POST['files'])) { $userid = $row['stall_id']; $a = $_FILES['file']['name']; $ab = $_FILES['file']['tmp_name']; $location = "".$a; move_uploaded_file($ab, "../pictures/".$location); if( $sql2 = $conn->prepare("UPDATE stall SET file = ? WHERE stall_id = ?")) { $sql2->bindParam(1, $location, PDO::PARAM_STR); $sql2->bindParam(2, $userid, PDO::PARAM_INT); $update=$sql2->execute(); if($update){ echo ' <script> window.location = "stalls.php" </script>'; } }else{ echo 'sql prepare failed'; } } ?> 

$sql2 = $conn->prepare("UPDATE stall SET file = ? WHERE stall_id = ?");
$sql2->execute(array($location,$userid));

$sql2 = $conn->prepare("UPDATE stall SET file = ? WHERE stall_id = ?");
$sql2->bindParam(1, $location, PDO::PARAM_STR);
$sql2->bindParam(2, $userid, PDO::PARAM_INT);
$sql2->execute();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM