2015-12-11 308 views
2

所以我做了一个PHP文件插入数据到我的数据库。我一直在尝试一段时间,似乎无法弄清楚我的代码出错了。问题插入数据到数据库

我使用这种形式:

<form class="form-horizontal" role="form" method="post" action="#section4"> 
     <div class="form-group"> 
     <label for="first_name" class="col-sm-2 control-label">Name</label> 
     <div class="col-sm-10"> 
      <input type="text" class="form-control" id="first_name" name="first_name" placeholder="First name" value="<?php echo htmlspecialchars($_POST['first_name']); ?>"> 
      <?php echo "<p class='text-danger'>$errName</p>";?> 
     </div> 
     <div class="col-sm-10"> 
      <input type="text" class="form-control" id="last_name" name="last_name" placeholder="Last name" value="<?php echo htmlspecialchars($_POST['last_name']); ?>"> 
      <?php echo "<p class='text-danger'>$errName</p>";?> 
     </div> 
     </div> 
     <div class="form-group"> 
     <label for="email" class="col-sm-2 control-label">Email</label> 
     <div class="col-sm-10"> 
      <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" value="<?php echo htmlspecialchars($_POST['email']); ?>"> 
      <?php echo "<p class='text-danger'>$errEmail</p>";?> 
     </div> 
     </div> 


     <div class="form-group"> 
     <div class="col-sm-10 col-sm-offset-2"> 
      <input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary"> 
      </div> 
     </div> 
    </form> 

首先我的信息的变量,从我的形式:

<?php 
if ($_POST["submit"]) { 
$first_name = $_POST['first_name']; 
$last_name = $_POST['last_name']; 
$email = $_POST['email'];} 

然后我登录到我的数据库:

$dbhost = 'mysql.info.dk'; 
$dbuser = 'myinfo'; 
$dbpass = 'mypass'; 
$dbname = 'moreinfo'; 

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql'); 
mysql_select_db($dbname); 

我然后“尝试”将表单中的信息插入数据库中的表格中:

$sql = "INSERT INTO contacts(`first_name`, `last_name`, `email`) VALUES ([$first_name],[$last_name],[$email])"; 

,并关闭我的连接:

mysqli_close($conn); 
?> 

有人可以帮助我发现在我的代码是错误的?

+0

什么错误? – jiboulex

+1

'[[...]''是问题,而不是'quotes'。而mysql已被弃用,而使用'mysqli或PDO'。 – Saty

回答

4

使用单引号,而insering和使用的mysqli为mysql

 $sql = "INSERT INTO contacts(`first_name`, `last_name`, `email`) VALUES ('$first_name','$last_name','$email')";