我无法使用PHP将数据插入MySQL数据库

时间:2014-01-28 10:19:26

标签: php mysql database

我无法使用PHP将数据插入MySQL数据库。我已经在网上搜索了2天了。代码如下。请帮忙。

错误是     错误:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的“-1,地址-2,州,城市,密码,固定电话,移动电话,网站,电子邮件地址”附近使用正确的语法

<?php
$con=mysqli_connect("localhost","root","","databasename");
if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_POST['builder_name']))    
{    
  echo "exist";    
}    

$sql="INSERT INTO builder_basic_info(builder_name,address-1,
      address-2,state,city,pincode,landline,mobile,website,email_address) 
    VALUES('".$_POST['builder_name']."','".$_POST['address_1']."',
'".$_POST['address_2']."','".$_POST['state']."','".$_POST['city']."',
'".$_POST['pincode']."','".$_POST['landline']."','".$_POST['mobile']."',
'".$_POST['website']."','".$_POST['email']."')";
if (!mysqli_query($con,$sql))
{
  die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>    

1 个答案:

答案 0 :(得分:2)

破折号是mysql中的保留字符。你可以用反引号(即`address-1`)包装列名,也许它会起作用,但你真的应该把它们命名为别的东西(通常只是字母和下划线)。

另外,我真的要提到这很容易受到SQL注入的攻击。请不要将其放在公共网站上,其中包含任何重要信息。