2015-11-27 3 views
0

Я пробую разные варианты этого кода часами. Я новичок. Я не могу понять, почему в базу phpMyAdmin ничего не встает. Я проверил, что я подключен к базе данных (используя функцию эха и ошибки ниже). Я знаю, что mysql_ находится в процессе устаревания, но, пожалуйста, помогите броте. Мой вопрос снова: почему ничего не вставлено? Я использую PHP 4.0.10.7 (Godaddy).Записи, отсутствующие в phpMyAdmin

<?php 

$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email']; 
$password = $_POST['password']; 
$phone_number = $_POST['phone_number']; 


define('dbusername', 'someusername'); 
define('dbpassword', 'somepassword'); 
define('dbhost', 'localhost'); 
define('dbname', 'somedb'); 

if (($first_name=="")||($last_name=="")||($email=="")||($password=="")||($phone_number=="")) 
     { 
     echo "All fields are required, please fill <a href='home.html'>the form</a> again."; 
     die(); 
     } 

$connect = mysql_connect(dbhost,dbusername,dbpassword) or die("Could not connect. " . mysql_error()); 

$db = mysql_select_db(dbname, $connect); 

$queryemail = "SELECT * FROM User WHERE email = '$email'"; 

$insertemail = "INSERT INTO User (email,password,first_name,last_name,phone_number) VALUES ('$email','$password','$first_name','$last_name','$phone_number')"; 

echo $insertemail; 
mysql_close($connect); 

header("Location: account_summary.html"); 

?> 

Повторяя $ insertemail возвращает

INSERT INTO пользователя (адрес электронной почты, пароль, first_name, last_name, phone_number) VALUES ('asdfsda @ sdfa', '', 'SADF', 'ASDF', ''). Пароль не отображается, но и номер телефона. Фактическая форма, на которой я тестирую, находится на Desotocab.com. Спасибо!

В соответствии с просьбой:

<form action="login.php" method="post"> 
 
\t \t 
 
\t \t <label>First Name: *</label><input type="text" name="first_name"/><br/> 
 
\t \t <label>Last Name: *</label><input type="text" name="last_name"/><br/> 
 
\t \t <label>Email: *</label><input type="email" name="email"/><br/> 
 
\t \t <label>Password: *</label><input type="password" name="password"/><br/> 
 
\t \t <sub>Password must be 8 characters minimum</sub><br/> 
 
\t \t <label>Phone Number: *</label><input type="text" name="phone_number"/><br/> 
 

 
\t \t <input type="submit" value="Sign Up"/> 
 

 
</form>

пользователя Таблица схемы:

Колонка | Тип
user_id | int (11)
email | varchar (22)
пароль | varchar (64)
created_on | timestamp
first_name | varchar (50)
last_name | varchar (50)
phone_number | VARCHAR (20)

+0

разместить свой код формы слишком – Saty

+0

Также укажите вашу схему таблицы. –

+1

Проверьте свои данные, которые у вас есть с сообщением или нет.? 'echo"

";print_r($_POST);echo "
";' –

ответ

1

Изменение выше кода из MySQL совместим с MySQLi совместимый

затем Использование

$result = mysqli_query($connect, $insertemail); 

перед тем

echo $insertemail; 
+0

использовать MySQL * i * весь код нужно будет заменить на MySQLi, это очень рекомендуется ***, но объяснит, почему копирование вышеприведенной строки кода просто вызовет другую ошибку. Есть много руководств о том, как поменять местами от MySQL до MySQLi на межстранах, довольно прямолинейно – Martin

+0

Я использую mqsql вместо mysqli. Можно ли использовать оба или я должен придерживаться mqsqli?Также вы могли бы объяснить, почему мне нужно использовать функцию mysqli_query? Не будет '$ insertemail =" INSERT INTO User (email, password, first_name, last_name, phone_number) VALUES ('$ email', '$ password', '$ first_name', '$ last_name', '$ phone_number') " ; 'уже отправляет запрос sql в базу данных? –

+1

@GovindRai Нет, без использования метода/функции query/execute ничего не будет отправлено в базу данных. То, что вы только что прокомментировали, - это просто строка в переменной, которая похожа на SQL. Для PHP строка - это строка, не более того. –

Смежные вопросы