SQL не вставляется в базу данных

#php #mysql #sql

#php #mysql #sql

Вопрос:

Меня смущает созданный мной запрос MySQL. Запрос не может вставить данные в базу данных, когда я запускаю код. Я пытаюсь выяснить, что произошло. Когда я пытаюсь запустить его на своем локальном хостинге, ошибка не найдена, запрос вставлен.. Я использую PHP 5.6, и мой веб-сервер также использует PHP 5.6.

 <?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");
            }   
        }
    }

?>
  

Пожалуйста, помогите мне: (

Комментарии:

1. Итак, вы хотите сказать, что если вы повторяете свои запросы, $ save и $ gets и вставляете сгенерированный SQL каждого из них на вкладку localhost phpmyadmin SQL или аналогичную, что они сработали?

2. Эта проблема решена. Проблема по моей вине. я не проверял запрос, который я импортировал в базу данных .. я не знаю, почему это происходит, но каждый раз, когда я хочу импортировать все данные с моего локального хостинга в мой онлайн-сайт, у него также возникает та же проблема.. Теперь это сделано, я поместил всю таблицу запросов одну за другой.

Ответ №1:

 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. . . Имена столбцов должны быть в запросе, но они не обязательны.

2. @GordonLinoff я этого, честно говоря, не знал, спасибо, Гордон

3. Спасибо за вашу помощь,. я оценил это 🙂