2016-10-23 137 views
1

我对我创建的MySql查询感到困惑。当我运行代码时,查询无法将数据插入到数据库中。我试图弄清楚发生了什么事。当我尝试在我的本地主机上运行它时,没有发现错误,查询插入..我使用PHP 5.6,我的Web服务器也使用PHP 5.6。SQL没有插入数据库

<?php 
    include 'koneksi.php'; 
    $user = $_POST['username']; 
    $pass = $_POST['password']; 
    $nama = $_POST['nama']; 
    $mail = $_POST['email']; 
    $tlp = $_POST['telp']; 
    $date = date("j F Y"); 
    $invoice = mt_rand(100000, 999999); 
    if ($_POST['pack'] === 'Basic') { 
     $pack_name = 'Basic Pack'; 
     $price = '$5'; 
     $permiti = 'basic'; 
     $limit = '15'; 
    } elseif ($_POST['pack'] === 'Premium') { 
     $pack_name = 'Premium Pack'; 
     $price = '$10'; 
     $permiti = 'premium'; 
     $limit = '20'; 
    } elseif ($_POST['pack'] === 'Pro') { 
     $pack_name = 'Pro Pack'; 
     $price = '$15'; 
     $permiti = 'pro'; 
     $limit = '25'; 
    } elseif ($_POST['pack'] === 'Ultimate') { 
     $pack_name = 'Ultimate Pack'; 
     $price = '$20'; 
     $permiti = 'ultimate'; 
     $limit = '99'; 
    } else { 

    } 
    $permit = 'member'; 
    $start = date("md"); 
    $end = date("md", strtotime(date("md", strtotime($start)). " + 30 day")); 
    $start_date = date("j F Y"); 
    $end_date = date("j F Y", strtotime(date("j F Y", strtotime($start_date)). " + 30 day")); 

    $encrypts = md5($nama); 

     $check = mysql_query("SELECT * FROM user WHERE username = '$user'"); 
    if(mysql_num_rows($check) <> 0){ 
     header("location:register.php?message=fail"); 
    } else { 
     if(!$user || !$pass || !$mail || !$nama || !$tlp){ 
      echo 'Terdapat data yang kosong<br/>'; 
      echo '<a href="register.php">Back</a>'; 
     } else { 
      $save = mysql_query("INSERT INTO user VALUES('', '$nama', '$user', '$pass', '$date', '$mail', '$tlp', '$permit')"); 
      $gets = mysql_query("INSERT INTO user_pack VALUES('', '$pack_name', '$user', '$start', '$end', '0', '$limit', '$price', '$permiti', '$encrypts', '$invoice', '$start_date', '$end_date', '0')"); 
      if($save || $gets){ 
       session_start(); 
       $_SESSION['username'] = $user; 
       $_SESSION['status'] = 'login'; 
       header("location:user/invoice.php"); 

      } else { 
       header("location:register_pack.php?message=fail1"); 
      } 
     } 
    } 

?> 

请帮我:(

+0

所以你是说如果你呼应你的查询,$保存和$得到每一类又中生成的SQL粘贴到您的本地主机的phpmyadmin SQL选项卡或类似,他们的工作? – TimBrownlaw

+0

这个问题是解决。问题是在我的错。我没有检查查询,我有导入到数据库..我不知道为什么这是happend,但每当我想导入所有的从我的本地主机到我的在线网络的数据,它也有同样的问题..现在它完成了,我已经把所有的查询表逐一。 –

回答

3
you have to put names of your columns in you sql query 

$save = mysql_query("INSERT INTO `user`(``, ``, ``, ``, ``, ``, ``, ``) VALUES('', '$nama', '$user', '$pass', '$date', '$mail', '$tlp', '$permit')"); 
$gets = mysql_query("INSERT INTO `user_pack`(``, ``, ``, ``, ``, ``, ``, ``, ``, ```, ``, ``, ``, ``) VALUES('', '$pack_name', '$user', '$start', '$end', '0', '$limit', '$price', '$permiti', '$encrypts', '$invoice', '$start_date', '$end_date', '0')"); 
+1

。列的名字*守ld *在查询中,但它们不是必需的。 –

+0

@GordonLinoff我不知道,说实话,谢谢戈登 –

+0

谢谢你的帮助。我appriciated :) –