在下面的代码中,我使用的是verot.net/php_class_upload.htm中的Upload类。我不能让$ q-> update_single_field(等)运行,我怀疑它与字符串中有一段句子以及应该用引号完成的东西有关,但我无法弄明白。该方法在其他上下文中运行良好,如果我用文字字符串替换变量,它也可以工作。
if ($_FILES['cover']['name']) {
$f = new Upload($_FILES['cover']);
if ($f->uploaded) {
$f->Process('/home/intuitodev/public_html/plish/images/covers');
if ($f->processed) {
$uploaded_cover = $f->file_dst_name;
$q->update_single_field('publications',$pub_id,'publication_cover',$uploaded_cover);
echo '<br />Pub ID: '.$pub_id;
echo '<br />Uploaded Cover: '.$uploaded_cover;
} else {
echo 'error : ' . $f->error;
}
}
}
仅供参考,这是我用于更新的方法。它适用于除该文件变量之外的任何其他内容:
function update_single_field($table,$row,$field,$data) {
$stmt = $this->pdo->prepare("UPDATE {$table} SET {$field} = :data WHERE id = :id");
$stmt->execute(array(':data'=>$data,':id'=>$row));
}
谢谢!