我是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);
?>
这里我总是得到输入数据失败。
答案 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'。如果您正在使用的表与字段名称没有相同的拼写错误,那么这些拼写错误将导致错误。我建议逐字逐句,并校对所有价值观的拼写。