0

これにより、このエラーが発生します...

オペランドには 1 列を含める必要があります [ UPDATE recordSET logo= ('', '', '', 4, 0) WHERE id= '0' ]

if ($_FILES['logo']['name'] == '') {
    $record->logo = $record->logo;
}
else{
    // INSERTION WORKS FINE
}

それが違いを生む場合、私はFormoモジュールも使用しています...

挿入スクリプトからロゴを完全に追い出す方法はあり$record->logo = $record->logoますか?

4

1 に答える 1

0
$record->logo = $record->logo;

$record->logo が設定されていない場合、エラーが発生します..少なくとも次のように言う必要があります:

$record->logo = '';

しかし、最善の方法は使用することですValidation::factory($_FILES)->check()

if ( $logo->check() ) {
  // do your insert here
}

これは、私が最後にこれを管理したときのほんの一部です:

    $logo = Validation::factory($_FILES);
    $logo->rule('logo', 'Upload::not_empty')->rule('logo', 'Upload::type', array(':value', array('jpg', 'png', 'gif')));
    if ( $logo->check() ) {
      $logo = Upload::save($_FILES['logo'], NULL, 'assets/uploads/logo');
      $image = ORM::factory('image')->where('id', '=', $id)->where('type', '=', 'logo')->find();
      $path = explode('/', $logo);
      $path = end($path);
      $image->path = 'assets/uploads/logo/' . $path;
      $image->playlist_id = $id;
      $image->type = 'logo';
      $image->save();
    }
于 2011-08-01T20:36:28.497 に答える