#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. Спасибо за вашу помощь,. я оценил это 🙂