Member 13906740 Ответов: 1

Не удалось импортировать изображение из одной таблицы в другую с помощью PHP запроса


дело в том что изображение уже находится в одной таблице и сохранено в папке,

но я хочу положить его на другой стол с теми же свойствами.

есть ли в любом случае, чтобы сделать это?

это код для редактирования данных из таблицы 1 :

$aksi="modul/mod_berita/aksi_berita2.php";
  case "editberita":
    $edit = mysqli_query($koneksi,"SELECT * FROM berita_sementara WHERE id_berita='$_GET[id]'");
    $r    = mysqli_fetch_array($edit);

    echo "<h2>Edit Berita</h2>
          <form method=POST enctype='multipart/form-data' action=$aksi?rajaampat=berita&act=kirim>
          <input type=hidden name=id value=$r[id_berita]>
          <table>
          <tr><td width=70>Judul</td>     <td> : <input type=text name='judul' size=60 value='$r[judul]'></td></tr>
          <tr><td>Kategori</td>  <td> : <select name='kategori'>";

          $tampil=mysqli_query($koneksi,"SELECT * FROM kategori ORDER BY nama_kategori");
          if ($r[id_kategori]==0){
            echo "<option value=0 selected>- Pilih Kategori -</option>";
          }   

          while($w=mysqli_fetch_array($tampil)){
            if ($r[id_kategori]==$w[id_kategori]){
              echo "<option value=$w[id_kategori] selected>$w[nama_kategori]</option>";
            }
            else{
              echo "<option value=$w[id_kategori]>$w[nama_kategori]</option>";
            }
          }

    echo "</select></td></tr>";

   if ($r[headline]=='Y'){
      echo "<tr><td>Headline</td> <td> : <input type=radio name='headline' value='Y' checked>Y  
                                        <input type=radio name='headline' value='N'> N</td></tr>";
    }
    else{
      echo "<tr><td>Headline</td> <td> : <input type=radio name='headline' value='Y'>Y  
                                        <input type=radio name='headline' value='N' checked>N</td></tr>";
    }
      echo "<tr><td>Isi Berita</td>   <td> <textarea name='isi_berita' style='width: 600px; height: 350px;'>$r[isi_berita]</textarea></td></tr>
          <tr><td>Gambar</td>       <td> :  ";
          if ($r['gambar']!=''){
              echo "<img src='../foto_berita/small_$r[gambar]' name='fupload'>";  
          }
    echo "</td></tr>
          <tr><td>Ganti Gbr</td>    <td> : <input type=file name='fupload' size=30> *)</td></tr>
          <tr><td colspan=2>*) Apabila gambar tidak diubah, dikosongkan saja.</td></tr>";

    $d = GetCheckboxes('tag', 'tag_seo', 'nama_tag', $r[tag]);


    echo "<tr><td>Tag (Label)</td><td> $d </td></tr>";

    echo  "<tr><td colspan=2><input type=submit value=Post>
                            <input type=button value=Batal onclick=self.history.back()></td></tr>
         </table></form>";
    break;


и это код для вставки данных, которые уже были отредактированы в таблице 1, в таблицу 2 :

elseif ($rajaampat=='berita' AND $act=='kirim'){
  $lokasi_file    = $_FILES['fupload']['tmp_name'];
  $tipe_file      = $_FILES['fupload']['type'];
  $nama_file      = $_FILES['fupload']['name'];
  $acak           = rand(1,99);
  $nama_file_unik = $acak.$nama_file; 

  if (!empty($_POST['tag_seo'])){
    $tag_seo = $_POST['tag_seo'];
    $tag=implode(',',$tag_seo);
  }
  $judul_seo      = seo_title($_POST['judul']);

  // Apabila ada gambar yang diupload
  if (!empty($lokasi_file)){
    if ($tipe_file != "image/jpeg" AND $tipe_file != "image/pjpeg"){
    echo "<script>window.alert('Upload Gagal, Pastikan File yang di Upload bertipe *.JPG');
        window.location=('../../media.php?rajaampat=berita)</script>";
    }
    else{
    UploadImage($nama_file_unik);

    mysqli_query($koneksi,"INSERT INTO berita(judul,
                                    judul_seo,
                                    id_kategori,
                                    headline,
                                    username,
                                    isi_berita,
                                    jam,
                                    tanggal,
                                    hari,
                                    tag, 
                                    gambar) 
                            VALUES('$_POST[judul]',
                                   '$judul_seo',
                                   '$_POST[kategori]',
                                   '$_POST[headline]', 
                                   '$_SESSION[namauser]',
                                   '$_POST[isi_berita]',
                                   '$jam_sekarang',
                                   '$tgl_sekarang',
                                   '$hari_ini',
                                   '$tag',
                                   '$nama_file_unik')");
  header('location:../../media.php?rajaampat='.$rajaampat);
  }
  }
  else{
    mysqli_query($koneksi,"INSERT INTO berita(judul,
                                    judul_seo, 
                                    id_kategori,
                                    headline,
                                    username,
                                    isi_berita,
                                    jam,
                                    tanggal,
                                    tag,
                                    hari) 
                            VALUES('$_POST[judul]',
                                   '$judul_seo',
                                   '$_POST[kategori]',
                                   '$_POST[headline]', 
                                   '$_SESSION[namauser]',
                                   '$_POST[isi_berita]',
                                   '$jam_sekarang',
                                   '$tgl_sekarang',
                                   '$tag',
                                   '$hari_ini')");
  header('location:../../media.php?rajaampat='.$rajaampat);
  }

  $jml=count($tag_seo);
  for($i=0;$i<$jml;$i++){
    mysqli_query($koneksi,"UPDATE tag SET count=count+1 WHERE tag_seo='$tag_seo[$i]'");
  }
}


Что я уже пробовал:

все данные в порядке и могут быть вставлены в новую таблицу, но изображения нет, оно пустое.

любое решение будет оценено по достоинству

1 Ответов

Рейтинг:
0

Patrice T

$edit = mysqli_query($koneksi,"SELECT * FROM berita_sementara WHERE id_berita='$_GET[id]'");

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]

Вторичная проблема, невозможно узнать, что именно является вашим запросом, потому что это зависит от значений параметров.
На отладчике можно показать, что такое реальный запрос.