php - 图片已上传但未存储

标签 php mysql image-upload

我正在尝试将图像名称与数据库中的其他数据一起存储,但无法做到。数据库中没有插入任何内容。但是当我在数据库配置之前关闭大括号}时,图像会上传到目录中。但是当我在插入后关闭函数大括号}时,我调用了一个未定义的函数上传()。这是代码:

$imagesub = isset( $_FILES['image'] );

if ( $imagesub ) 
{
    $output=upload();
}
return $output;
function upload()
{

    include_once "class.php";

    $uploader = new Uploader( "image" );

    $uploader->saveIn("images");

    $fileUploaded = $uploader->save();



$db = new mysqli("localhost", "root","","learndb");

if ($db->connect_error) {
    die("Connection failed this is the error: " . $db->connect_error);
}

$stmt = $db->prepare("INSERT INTO studentrecords (Name, email, Phone, school,dob,father,feereceived,due,image) VALUES (?,?,?,?,?,?,?,?,?)");

if($stmt)
{
    $stmt->bind_param("ssisssiis",$name,$email,$phone,$school,$dob,$father,$feereceived,$due,$fileUploaded);
        $stmt->execute();
    $out="<center>information entered.</center>";
        echo "$out";
}
else
{

    $out="DATABASE ERROR!!!";
    echo "$out";
}
      return $out;
}

这里是函数save()

public function save(){
    $folderIsWriteAble = is_writable( $this->destination );
    if( $folderIsWriteAble ){
        $name = "$this->destination/$this->filename";
        if($succes = move_uploaded_file( $this->fileData, $name ))
        {
            return $name;
        }
    }
}

最佳答案

@Micky 您在插入查询中只定义了 9 个字段,但您在 ´bind_param()` 中传递了 10 个参数。

$stmt->bind_param("ssisssiis",$name,$email,$phone,$school,$dob,$father,$feereived,$due,$fileUploaded);/p>

应该是

$stmt->bind_param($name,$email,$phone,$school,$dob,$father,$feereceived,$due,$fileUploaded);

如果它不能解决您的问题,那么 var_dump 您的 $fileUploaded 变量并确保您为用于存储文件名的列定义了兼容的数据类型。

关于php - 图片已上传但未存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447521/

相关文章:

php - 按日期时间值对 MySql 结果排序

mysql - 通过 "Last Week"、 "Last Month"和 "Last Year"搜索记录的选择查询可能是什么?

javascript - 无法在 dojo/request/iframe post 上读取未定义的属性 'value'

java - 如何将图像上传到网络服务器上?

php - Zend_Auth : Allow user to be logged in to multiple tables/identities

php - 解析 REST API : Having the channel name, 我可以在实际发送到 Push 之前获取设备类型吗?

php - Laravel 4 - 同一页面上的多个表单?

mysql - 如何使用连接在mysql中使用case语句?

java - 如何使用camel-jetty组件上传图片

php - 防止 mPDF 中的正文重叠页脚