Php简单插入表单数据到数据库不工作
问题描述:
我是PHP新手。 我试图将表单数据插入到本地数据库的SQL数据。 我总是收到失败的错误。Php简单插入表单数据到数据库不工作
这里我是我的两个相同的文件。 请指导我解决相同的查询。
<?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);
?>
我在这里总是输入数据失败。
答
首先,你还没有逃过你的任何数据。如果我是张贴到您的形式“让我们党”您的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
+0
感谢Mchavity的帮助。 – NovusMobile
答
看起来你的查询中有很多拼写错误。例如'contatctPerson'。我猜这应该是“contactPerson”。如果您使用的表格没有与字段名称相同的拼写错误,则这些错别字将导致错误。我会建议一个接一个地逐字,并校对所有值的拼写。
mysql_error()为您提供MySQL报告的最后一个错误。将echo(“
输入数据失败”)更改为'echo mysql_error()'并告诉我们它给了你什么。 –
'mysql_'函数已经过时。请使用[PDO](http://us1.php.net/manual/en/ref.pdo-mysql.php)或[mysqli](http://us1.php.net/manual/en/book.mysqli .PHP)。此外,你不应该使用字符串互操作,以建立从POST数据的SQL查询,因为它的[SQL注入](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-创造潜力in-php) – Dan
我真的不同意你的决定。如果有问题的话,开发人员可以在栈式流程中找到答案。 我不认为这个政策只关闭问题,因为对此的理解较少。 我已经提到我是PHP新手。让我们有关android和嵌入式的问题。与其他人相比,我会保持很长时间。 我坚信人们应该看看我的评论。 – NovusMobile