2013-07-27 6 views
0

У меня возникает эта проблема, когда я получаю значения из POST, но когда запрос на ввод ничего не отображается, в базе данных отображается, но я не получаю никаких ошибок и работы эха. Вот мои файлы:PHP для вставки значений в таблицу SQL

config.php:

<?php 

$host = "000webhost.com"; 
$user = "a9257*****"; 
$pass = "*****"; 
$db = "a9257*****"; 

$connect = mysql_connect($host, $user, $pass); 
mysql_select_db($db, $connect); 

?> 

Вот мой submit.php:

<?php 

include "config.php"; 

$fname = $_POST['fname']; 
$lname = $_POST['lname']; 
$email = $_POST['email']; 
$pass = md5($_POST['pass']); 

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'""'.$email.'","'.$pass.'")'; 

mysql_query($insert); 

echo $fname; 
echo $lname; 
echo $email; 
echo $pass; 

?> 

Любая помощь будет очень признателен.

+0

Вы используете неправильную библиотеку mysql. ext/mysql устарел. – Mike

+0

'mysql_query ($ insert) die ('Error:'. Mysqli_error());' и он будет показывать ошибки. –

+0

Уверены ли вы, что нет ошибок? Кажется, вы не проверяете ошибки, возвращаемые из MySQL. Учитывая, что ваш код *** широко открыт *** для SQL-инъекций, практически все может происходить в этом запросе. – David

ответ

2

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'","'.$email.'","'.$pass.'")';

Вы забыли запятой "'.$lname.'"HERE"'.$email.'"

Edit: бежать переменные или ваша база данных будет взломан (не будет, а не если;))

+0

-1 для неадресной SQL-инъекции – Mike

+0

Word .. Я только что увидел проблему и дал ответ. –

+0

Вы все еще можете отредактировать его – Mike

2

Вы получаете без ошибок, потому что вы не просите MySQL, чтобы дать их вам!

Изменить эту строку:

mysql_query($insert); 

в этой версии:

mysql_query($insert, $connect) or die("MySQL error:". mysql_error($connect)); 

Сообщите нам об ошибке, либо исправить это непосредственно сами.

И ПОЖАЛУЙСТА, ОБРАЩАЙТЕСЬ! Все ваши значения позволяют атаковать SQL-инъекциями!

И, пожалуйста, не используйте MD5 для хеширования паролей! Начиная с PHP 5.5 есть простые в использовании функции хэширования паролей, которые также были переданы в PHP 5.3.6. Пожалуйста, включите эту простую библиотеку: https://github.com/ircmaxell/password_compat

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