2012-10-30 62 views
1

我很不习惯编码。我设置了一个名为contacts的MYSQL数据库,一个名为contactstable的表,其中包含字段id,名字,姓氏,电子邮件地址,邮政编码和电话号码。每个都是文本或变量,除了id,这是一个auto_increment,pk字段。连接没有给出任何错误,并且没有错误通过mysqli_connect_error()方法中继。他们查询没有通过,也没有执行查询。我无法弄清楚为什么。mysqli插入不工作,没有错误信息,连接成功

<html> 
<head> 
    <title>Registration</title>  
</head> 
<body> 

     <h1>Register with Us!</h1> 

     <h2>Registration Complete!</h2> 
     <div class="feedback-container" <?= isset($_REQUEST["first-name"])? "style=\"display:block\"": "style=\"display:none\""; ?>> 
     <?php 

      $firstname = $lastname = $emailaddress = $postalcode = $phonenumber = NULL; 

      if (isset($_REQUEST["first-name"])){ 
      $firstname = $_REQUEST["first-name"]; 
      $lastname = $_REQUEST["last-name"]; 
      $emailaddress = $_REQUEST["email-address"]; 
      $postalcode = $_REQUEST["postal-code"]; 
      $phonenumber = $_REQUEST["phone-number"]; 

      $dbconn = new mysqli(); 
      $dbconn->connect("localhost","root","","contacts"); 

      if(mysqli_connect_error()){ 
      echo "Connection Failed"; 
      }else{ 
      echo "Connection Established"; 
      } 

      $query = "INSERT INTO 'contactstable' ('firstname', 'lastname', 'emailaddress','postalcode','phonenumber') VALUES ('$firstname', '$lastname', '$emailaddress', '$postalcode', '$phonenumber')";    

      if ($dbconn->query($query) == TRUE){ 
       echo ("Thank you for registering with us. We will shortly send a confirmation email to $emailaddress."); 
      }else{ 
       echo ("<p>Your contact information was not added to our database. Please try again later or contact our webadmin at [email protected]</p>"); 
      } 

      } 

     ?> 
     </div> 
</body> 

当它运行时,它输出以下内容: “连接已建立” “您的联系方式并没有加入到我们的数据库中,请稍后再试或在WebAdmin的@ Gmail联系人我们的WebAdmin。 com“ 没有错误消息。 没有数据更新。

+0

这是什么'$ dbconn-> error'说的问题是什么? – Roberto

+0

请不要发布无关的代码,比如css。 – 2012-10-30 03:02:11

回答

1

我会想办法让这个

$query = "INSERT INTO 'contactstable' ('firstname', 'lastname', 'emailaddress','postalcode','phonenumber') VALUES ('$firstname', '$lastname', '$emailaddress', '$postalcode', '$phonenumber')"; 

这个样子的

$query = "INSERT INTO contactstable (firstname, lastname, emailaddress,postalcode,phonenumber) VALUES ('$firstname', '$lastname', '$emailaddress', '$postalcode', '$phonenumber')"; 
0

查询应该是这样的。

INSERT INTO `contactstable` 
(`firstname`, `lastname`, `emailaddress`,`postalcode`,`phonenumber`) 
VALUES 
('$firstname', '$lastname', '$emailaddress', '$postalcode', '$phonenumber') 
0

如果您想引用您的字段名称,请使用反引号。

$query = "INSERT INTO `contactstable` (`firstname`, `lastname`, `emailaddress`,`postalcode`,`phonenumber`) VALUES ('$firstname', '$lastname', '$emailaddress', '$postalcode', '$phonenumber')"; 

您也可以使用"如果设置SET sql_mode='ANSI_QUOTES'

http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html

相关问题