在sql数据库中存储用户详细信息

时间:2014-10-10 10:52:41

标签: php sql

我使用php创建了注册表单页面。

这是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 );
?>

现在我没有显示任何错误,但没有存储用户数据。

我可以知道,我的代码错误是什么。

提前致谢。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:0)

删除字段&#34;年&#34;从你的表中并将其重命名为其他东西。由于mysql将年份视为关键字。所以它不允许您将数据插入表中。

几天前我也提出了同样的问题。我在phpmyadmin中测试过。我找到了这个解决方案。

而且你还需要像这样执行查询

mysql_query($result);

然后检查它是否未执行..

相关问题