0

我是 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);

?>

在这里,我总是输入数据失败。

4

2 回答 2

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

于 2013-11-03T17:57:45.080 回答
0

您的查询中似乎有很多错别字。例如“联系人”。我猜这应该读作'contactPerson'。如果您正在使用的表没有相同的字段名称拼写错误,则这些拼写错误将导致错误。我建议逐字逐句校对所有值的拼写。

于 2013-11-03T17:56:03.180 回答