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

sky94132003 2014-08-18 04:01:58
最近用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,
$file->url,
$file->title,
$file->description
);
$query->execute();
$file->id = $this->db->insert_id;
}
return $file;
}


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

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




另外...因为这玩意,还弄到一个append取值问题,熟jq的朋友也可以去这帮帮小弟吧
http://bbs.csdn.net/topics/390862894
...全文
158 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-08-18
  • 打赏
  • 举报
回复
警告: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个 );
sky94132003 2014-08-18
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
警告: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好像就没怎么提过这写法 谢谢,学习了

20,395

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧