PHP方法post无法将数据存储到数据库,不会产生错误

时间:2016-08-03 09:10:50

标签: php html mysql

在寻找与我相同的问题后发现没有解决方案我决定在这里问。

我在1分贝中有2个表,其中一个是" produk"另一个是" sparepart"两者都具有完全相同的列数和名称。

我编写了完全相同的HTML和PHP代码,只是更改了表名,因此数据将存储到各自的表中。

问题是来自produk.php的数据存储在produk表中,但是来自sparepart.php的数据在查询后没有存储在sparepart表中。

我尝试检查错误,但没有生成错误,而是回应"成功"。

请看一下我的简化代码:

HTML

<?php echo "<header><h3>TAMBAHKAN PRODUK SPAREPART</h3></header>
  <form method=POST action='$aksi?module=sparepart&act=input' enctype='multipart/form-data'>
    <div class='module_content'>
      <table id='rounded-corner'>
        <tr>
          <td width=70>Nama Produk</td>     
          <td> : <input type=text name='nama_produk' size=60></td>
        </tr>
        <tr>
          <td>Kategori</td>  
          <td> : 
            <select name='kategori'>
              <option value=0 selected>- Pilih Kategori -</option>";
              $tampil=mysql_query("SELECT * FROM kategori ORDER BY nama_kategori");
              while($r=mysql_fetch_array($tampil)){
                echo "<option value=$r[id_kategori]>$r[nama_kategori]</option>";
              }

            echo "</select>
          </td>
        </tr>
        <tr>
          <td>Kategori 2</td>  
          <td> : 
            <select name='kategori2'>
              <option value=0 selected>- Pilih Kategori2 -</option>";
              $tampil2=mysql_query("SELECT * FROM kategori2 ORDER BY nama_kategori2");
              while($r2=mysql_fetch_array($tampil2)){
                echo "<option value=$r2[id_kategori2]>$r2[nama_kategori2]</option>";
              }
            echo "</select>
          </td>
        </tr>
        <tr>
          <td>Harga </td>     
          <td> : <input type=text name='harga' size=10></td>
        </tr>
        <tr>
          <td>Stok</td>     
          <td> : <input type=text name='stok' size=5></td>
        </tr>
        <tr>
          <td>Diskon</td>     
          <td> : <input type=text name='diskon' size=5></td>
        </tr>
        <tr>
          <td>Potongan</td>     
          <td> : <input type=tetxt name='potongan' size=10></td>
        </tr>
        <tr>
          <td valign=top>Deskripsi</td>  
          <td> <textarea name='deskripsi' style='width: 600px; height: 350px;'></textarea></td>
        </tr>
        <tr>
          <td>Gambar</td>      
          <td> : <input type=file name='fupload' size=40> 
              <br>Tipe gambar disarankan JPG/JPEG dan ukuran lebar maks: 400 px
          </td>
        </tr>
        <tr>
          <td colspan=2>
            <input type=submit class='button' value=Simpan>
            <input type=button class='button' value=Batal onclick=self.history.back()>
          </td>
        </tr>
      </table>
    </form>";?>

PHP

<?php 
$module=$_GET[module];
$act=$_GET[act];

$produk_seo = seo_title($_POST['nama_produk']);

if (!empty($lokasi_file)){
   // Cek file type
   if (($tipe_file =="image/jpeg" OR $tipe_file=="image/gif" OR
        $tipe_file=="image/png" OR $tipe_file=="image/wbmp" )){
            UploadImage($nama_file_unik);
            $query1 ="INSERT INTO sparepart(nama_produk,
                                produk_seo,
                                id_kategori,
                                id_kategori2,
                                berat,
                                harga,
                                diskon,
                                stok,
                                deskripsi,
                                tgl_masuk,
                                potongan,
                                gambar) 
                        VALUES('$_POST[nama_produk]',
                               '$produk_seo',
                               '$_POST[kategori]',
                               '$_POST[kategori2]',
                               '$_POST[berat]',
                               '$_POST[harga]',
                               '$_POST[diskon]',
                               '$_POST[stok]',
                               '$_POST[deskripsi]',
                               '$tgl_sekarang',
                               '$_POST[potongan]',
                               '$nama_file_unik')";
       $sql = mysql_query($query1);
       if (!sql) {
           die('there is an error');
           mysql_errno($sql).":".mysql_error($sql);
       } else {
           echo "success bro!";
       }
   }
   else
   {
      $query2 = "INSERT INTO sparepart(nama_produk,
                                produk_seo,
                                id_kategori,
                                id_kategori2,
                                berat,
                                harga,
                                diskon
                                stok,
                                deskripsi,
                                potongan,
                                tgl_posting) 
                        VALUES('$_POST[nama_produk]',
                               '$produk_seo',
                               '$_POST[kategori]',
                               '$_POST[kategori2]',
                               '$_POST[berat]',                                 
                               '$_POST[harga]',
                               '$_POST[diskon]',
                               '$_POST[stok]',
                               '$_POST[deskripsi]',
                               '$_POST[potongan]',
                               '$tgl_sekarang')";
      $sql=mysql_query($query2);
      if(!sql) {
          die('there is an error');
          mysql_errno($sql).":".mysql_error($sql);
      } else {
          echo "success bro!";
      }
}

我想知道为什么在两个相同的代码之间,只有1个工作,而另一个不会回应任何错误但不起作用。

我在我的真实项目中使用mysqli_ *。在写这个问题时,我觉得使用Mysql_ *感觉更舒服,所以感谢你警告我关于mysql_ *被弃用的事。

2 个答案:

答案 0 :(得分:1)

最后使用die()方法,这就是为什么你没有得到错误。

if (!sql) {
     /* die('there is an error');  */  // was like this before
     echo mysql_errno($sql).":".mysql_error($sql);
     die('there is an error'); // make it like this
 } 

答案 1 :(得分:1)

$a=$_POST['kategori'];
$b=$_POST['kategori2'];

$query=mysql_query("INSERT INTO sparepart VALUES('$a','$b')");

if(!query) 
{
        die('there is an error');

} 
else 
{
       echo "success bro!";
}

做类似这样的事情: - 在POST中使用''