Db从PHP表单插入不起作用

时间:2013-08-19 13:29:45

标签: php mysql database forms

我已经把我认为是一个简单的PHP表单处理脚本添加到一起(在数据库中将数据发送到电子邮件后插入数据)。

出于某种原因,我总是收到错误消息,并且数据的实际输入永远不会进入数据库。我已将查询添加到输出中,并且所有收到的值似乎都没问题。

提前致谢。

// username, passw, database are all defined earlier in code.
// all the variables are taken out of form inputs (and they all arrive fine by email.
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

//inserting data order
$order = "INSERT INTO flights('restime', 'flyfrom', 'flyto', 'dateoutbound', 'outboundflex', 'datereturn', 'returnflex', 'pax', 'klasse', 'name', 'email', 'phone', 'comments', 'status') VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

//declare in the order variable
$result = mysql_query($order);  //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
    echo $order;
}

提前多多感谢。

3 个答案:

答案 0 :(得分:0)

您不应对查询中的字段使用单引号。如果你使用反引号,那么你不会得到错误。就像下面的

您必须使用mysql_error()函数检查查询中的错误。检查以下代码。

我发现了另外一个问题。您必须在mysql_connect函数中使用主机名周围的单引号。这也可能导致错误。

我使用了以下代码。它对我来说很好。

<?php mysql_connect('localhost','root','');
@mysql_select_db('test') or die( "Unable to select database");





//inserting data order
$order = "INSERT INTO testone (`restime`, `flyfrom`, `flyto`, `dateoutbound`, `outboundflex`, `datereturn`, `returnflex`, `pax`, `klasse`, `name`, `email`, `phone`, `comments`, `status`) VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

//declare in the order variable
$result = mysql_query($order) or die(mysql_error());  //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
    echo $order;
}

答案 1 :(得分:0)

数据库配置设置必须如下所示

$link=mysql_connect(localhost,$username,$password);
@mysql_select_db($database,$link) or die( "Unable to select database"); 

在此之后,您可以编写插入查询等....

答案 2 :(得分:0)

错误在此查询中:

$order = "INSERT INTO flights('restime', 'flyfrom', 'flyto', 'dateoutbound', 'outboundflex', 'datereturn', 'returnflex', 'pax', 'klasse', 'name', 'email', 'phone', 'comments', 'status') VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

您正在使用',尽管使用`作为表格中的列名。

使用此查询,我相信它会运行得很好

$order = "INSERT INTO testone (`restime`, `flyfrom`, `flyto`, `dateoutbound`, `outboundflex`, `datereturn`, `returnflex`, `pax`, `klasse`, `name`, `email`, `phone`, `comments`, `status`) VALUES('$date', '$fly_from', '$fly_to', '$date_outbound', '$outbound_flex', '$date_return', '$return_flex', '$pax', '$class', '$name', '$email', '$phone', '$comments', '1')";

:)