Heim > Backend-Entwicklung > PHP-Tutorial > jquery-file-upload 的php mysql插入问题

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

WBOY
Freigeben: 2016-06-23 13:51:26
Original
823 Leute haben es durchsucht

最近用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');
Nach dem Login kopieren



应该就是这段了....

我尝试多次,加入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;    }
Nach dem Login kopieren


都给我显示:
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,                $file->url,                $file->title,                $file->description            );            $query->execute();            $file->id = $this->db->insert_id;        }        return $file;    }
Nach dem Login kopieren


我需要保存成
$url = $_COOKIE["uid"].'/'.date("Y").'/'.date("m").'/'.date("d").'/'. filename

要怎么改? 直接用$file->url就可以吗?




另外...因为这玩意,还弄到一个append取值问题,熟jq的朋友也可以去这帮帮小弟吧
http://bbs.csdn.net/topics/390862894


回复讨论(解决方案)

警告:mysqli_stmt::bind_param():在类型定义字符串不匹配的绑定变量的元素个数
这还不清楚吗?
$query->bind_param(
                ' sisss', //怎么只有 5 个类型声明?
                $file->name, //1
                $file->size, //2
                $file->type, //3
                $file->url, //4
                $file->title,//5
                $file->description //6 共6个
            );

警告:mysqli_stmt::bind_param():在类型定义字符串不匹配的绑定变量的元素个数
这还不清楚吗?
$query->bind_param(
                ' sisss', //怎么只有 5 个类型声明?
                $file->name, //1
                $file->size, //2
                $file->type, //3
                $file->url, //4
                $file->title,//5
                $file->description //6 共6个
            );


喔...原来这个问题

已成功解决了!

以前用完mysql_query后就转用pdo了,没用过mysqli,PDO好像就没怎么提过这写法

谢谢,学习了
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage