我使用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 );
?>
现在我没有显示任何错误,但没有存储用户数据。
我可以知道,我的代码错误是什么。
提前致谢。
答案 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);
然后检查它是否未执行..