Php简单插入表格数据到数据库不起作用

时间:2013-11-03 17:50:12

标签: php mysql sql forms

我是PHP的新手。 我试图将表单数据插入SQL数据到本地数据库。 我总是失败错误。

这里我是我的两个文件。 请指导我解决我的查询。

  <?php

$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "my_db";

$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");


$sql_insert = "INSERT INTO company ('company_no','name', 'address', 'model','fabno', 'startdate', 'enddate',
               'InvoiceDate', 'contatctPerson','phoneNumber', 'mailId', 'ccsNO', 'ElgiRegion', 'kmreading') 
     VALUES (NULL,'$_POST[compnay_name]','$_POST[address]','$_POST[fabno]','$_POST[startdate]','$_POST[enddate]',
        '$_POST[InvoiceDate]','$_POST[contatctPerson]','$_POST[phoneNumber]',
          '$_POST[mailId]','$_POST[ccsNO]','$_POST[ElgiRegion]','$_POST[kmreading]')";

echo "$sql_insert";

$result = mysql_query($sql_insert,$bd);

if ($result) {
    echo("<br>Input data is succeed");
} else {
    echo("<br>Input data is fail");
}

mysql_close($bd);

?>

这里我总是得到输入数据失败。

2 个答案:

答案 0 :(得分:1)

首先,您没有转义任何数据。如果我要发布到你的表单“让我们举办派对”你的SQL会中断,因为我的撇号使你的SQL看起来像

VALUES(NULL, 'Let's have a party')

您可以通过mysql_real_escape_string传递数据来解决这个问题(我只展示一个代码段)

$sql = "VALUES (NULL,'" . mysql_real_escape_string($_POST['company_name']) . "')";

这使你的SQL看起来像这样

VALUES(NULL, 'Let\'s have a party')

这让我想到了最后一点。如果您单击上面的链接,您会看到一个大的,可怕的红色块警告您mysql_已被折旧,并且可能会从未来的PHP版本中删除。尝试使用mysqli

答案 1 :(得分:0)

您的查询中似乎有很多拼写错误。例如'contatctPerson'。我猜这应该是'contactPerson'。如果您正在使用的表与字段名称没有相同的拼写错误,那么这些拼写错误将导致错误。我建议逐字逐句,并校对所有价值观的拼写。