将数组数据插入数据库的问题

时间:2011-06-01 16:35:20

标签: php mysql arrays forms serialization

请有人查看下面的代码,即处理通过表单提交的数据并将此数据插入MySQL数据库。

<? $con = mysql_connect("localhost","username","password");

if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("database_name", $con);

$name=mysql_real_escape_string(serialize($_POST['fullname15']));
$bdate=mysql_real_escape_string(serialize($_POST['birthdate19']));

$sql="INSERT INTO bookings (full_name, dob, email) VALUES ('$_POST[name]','$_POST[bdate]','$_POST[email]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Form Sent to Database";

mysql_close($con)
?>`

我使用了一个名为JotForm的表单构建器来构建我的表单,并在提交表单时将数据发送到上面的process.php脚本。问题是我无法将这些数据存入我的数据库。目前唯一成功的领域是电子邮件。

数据正在成功提交到我的脚本,因为'var_dump'显示了我:

[fullname15] => Array ( [0] => Joe [1] => Bloggs )
[birthdate19] => Array ( [0] => 14 [1] => November [2] => 1921 )
[email16] => joebloggss@sample.com 

我是编程的新手,并且已经尝试了几个小时来获取fullname和birthdate以插入到我几乎放弃的数据库字段中。任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:3)

您没有向$ sql语句发送任何内容。例如,$ _POST ['name']为空。要在将来进行调试,请打印出$ sql进行检查。

$name=mysql_real_escape_string(serialize($_POST['fullname15']));
$bdate=mysql_real_escape_string(serialize($_POST['birthdate19']));
$email=mysql_real_escape_string(serialize($_POST['email16']));

$sql="INSERT INTO bookings (full_name, dob, email) VALUES ('$name','$bdate','$email')";