2014-10-10 3 views
0

Я создал страницу формы регистра, используя php.Не удалось найти информацию о пользователе в базе данных sql

Это code_exec.php:

<?php 
    include 'config.php'; 
    error_reporting(E_ERROR); 
    session_start(); 
    $form = $_POST; 
    $fname=$form['fname']; 
    $lname=$form['lname']; 
    $email=$form['email']; 
    $pass=$form['pass']; 
    $phone=$form['phone']; 
    $sex_select=$form['sex_select']; 
    $month=$form['month']; 
    $day=$form['day']; 
    $year=$form['year']; 

$result = "INSERT INTO crop (fname, lname, email, pass, phone,`sex_select`, month,day,year) VALUES 
(:fname, :lname, :email, :pass, :phone, :sex_select, :month, :day, :year)"; 
if (!$result) { 
    die(msg(0,"wrong query")); 
} 
?> 

config.php:

<?php 
$user = 'root'; 
$pass = ''; 
$db = new PDO('mysql:host=localhost;dbname=crop', $user, $pass); 
?> 

Теперь я не показал какой-либо ошибки, но не хранить пользовательские данные.

Могу ли я узнать, какова моя ошибка с моим кодом.

Заранее спасибо.

ответ

0

Удалить поле «год» из таблицы и переименовать его в чем-то else.As MySQL обрабатывает год как ключевое слово .so это не позволит вам вставить данных в таблицу.

Та же проблема была поднята для меня несколько дней назад. Я тестировал в phpmyadmin.I нашел это решение.

И Кроме того, необходимо выполнить запрос, как этот

mysql_query($result); 

затем проверить, если он не выполняется ..

+0

Это не может быть указано там. Но это сработало для меня только тогда, когда я изменил название поля на год. – Phani

0

вам нужно попробовать, как этот

include 'config.php'; 
    error_reporting(E_ERROR); 
    session_start(); 
    $fname=$_POST['fname']; 
    $lname=$_POST['lname']; 
    $email=$_POST['email']; 
    $pass=$_POST['pass']; 
    $phone=$_POST['phone']; 
    $sex_select=$_POST['sex_select']; 
    $month=$_POST['month']; 
    $day=$_POST['day']; 
    $year=$_POST['year']; 


$result = $db->prepare("INSERT INTO crop (`fname`, `lname`, `email`, `pass`, `phone`,`sex_select`, `month`,`day`,`year`) VALUES (:fname, :lname, :email, :pass, :phone, :sex_select, :month, :day, :year)"); 
$result->bindValue(':fname', $fname, PDO::PARAM_STR); 
$result->bindValue(':lname', $lname, PDO::PARAM_STR); 
$result->bindValue(':email', $email, PDO::PARAM_STR); 
$result->bindValue(':pass', $pass, PDO::PARAM_STR); 
$result->bindValue(':phone', $phone, PDO::PARAM_STR); 
$result->bindValue(':sex_select', $sex_select, PDO::PARAM_STR); 
$result->bindValue(':month', $month, PDO::PARAM_STR); 
$result->bindValue(':day', $day, PDO::PARAM_STR); 
$result->bindValue(':year', $year, PDO::PARAM_STR); 

$result->execute(); 
+0

Я предлагаю вам получить переменную типа '$ имя_файла = $ _ POST [«имя_файла» ]; 'вместо' $ fname = $ form ['fname']; 'для всех переменных; –

+0

Я обновил свой ответ, вы можете проверить его сейчас –

+0

, пожалуйста, поделитесь ошибкой –