当前位置: 代码迷 >> PHP >> jquery-file-upload 的php mysql插入有关问题
  详细解决方案

jquery-file-upload 的php mysql插入有关问题

热度:89   发布时间:2016-04-28 18:39:49.0
jquery-file-upload 的php mysql插入问题
最近用jquery-file-upload 来改善网站上传的体验

https://github.com/blueimp/jQuery-File-Upload/wiki/PHP-MySQL-database-integration
上传时按照他的参考文档,立马就完成了,一开始也按照他的sql 架构先试试

结果上传后,也能成功插入,json传回页面一切正常!

但问题来了,他的sql 架构...有个叫url

但作者好像在PHP的SQL中没有处理

那我就改改吧,....

先新增了一些基本配置
$dir = $_COOKIE["uid"].'/'.date("Y").'/'.date("m").'/'.date("d").'/';
$dirUP =  "../../../att/".$dir;
$dirLink =  $dir;

$options=array(
    'upload_dir' => $dirUP,
    'upload_url' => $dirLink,
    'delete_type' => 'POST',
    'db_host' => 'localhost',
    'db_user' => 'root',
    'db_pass' => '*****',
    'db_name' => '*****',
    'db_table' => 'files'
);



应该就是这段了....

我尝试多次,加入url字段都不成功 [原本的文档代码]

    protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
            $index = null, $content_range = null) {
        $file = parent::handle_file_upload(
            $uploaded_file, $name, $size, $type, $error, $index, $content_range
        );
        if (empty($file->error)) {
            $sql = 'INSERT INTO `'.$this->options['db_table']
                .'` (`name`, `size`, `type`, `title`, `description`)'
                .' VALUES (?, ?, ?, ? , ?)';
            $query = $this->db->prepare($sql);
            $query->bind_param(
                'sisss',
                $file->name,
                $file->size,
                $file->type,
                $file->title,
                $file->description
            );
            $query->execute();
            $file->id = $this->db->insert_id;
        }
        return $file;
    }


都给我显示:
Warning: mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables in

这是什么意思,说我的数量有问题? 是指我加少了吗?
我已经改成...这样,5处的type字段也都加了url也说是数量问题?


    protected function handle_file_upload($uploaded_file, $name, $size, $type,$url, $error,
            $index = null, $content_range = null) {
        $file = parent::handle_file_upload(
            $uploaded_file, $name, $size, $type,$url, $error, $index, $content_range
        );
        if (empty($file->error)) {
            $sql = 'INSERT INTO `'.$this->options['db_table']
                .'` (`name`, `size`, `type`, `url`, `title`, `description`)'
                .' VALUES (?, ?, ?, ?,? , ?)';
            $query = $this->db->prepare($sql);
            $query->bind_param(
                'sisss',
                $file->name,
                $file->size,
                $file->type,
  相关解决方案