PHP下拉列表插入

时间:2015-04-25 13:04:09

标签: php

我有一个PHP系统,用户可以在表单中输入详细信息。输入文本字段后,它会将我的数据插入到我的数据库中。但是,我有下拉列表没有插入数据库。任何人都可以帮助解决这个问题,因为我是一个温和的用户并且没有经常使用PHP。谢谢。

InsertDetails.php 
<div class="row">
    <div class="label">Adults 18+</div><!--end label-->
    <div class="input">
    <select name="adultsPlusEight" id="adultsPlusEight" class="detail" name="adultsPlusEight">

      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>         
    </select>
    </div><!--end input--> 
    <div class="context"> Choose how many people to book maximum of 10 per booking</div><!--end context-->              
    </div><!--end row-->


INSERT.PHP<?php
$link = mysqli_connect("localhost", "root", "", "loginsystem");
// Check connection
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
// Escape user inputs for security
  $fName = mysqli_real_escape_string($link, $_POST['firstname']);
  $sName = mysqli_real_escape_string($link, $_POST['lastname']);
  $telNumb = mysqli_real_escape_string($link, $_POST['teleNumber']);
  $custEmail = mysqli_real_escape_string($link, $_POST['email']);
  $location = mysqli_real_escape_var_dump($link, $_POST['wlocation']);
  $adultPlus = mysqli_real_escape_integer($link, $_POST['adultsPlusEight']);
  $childPlus = mysqli_real_escape_integer($link, $_POST['childrenPlusTwo']);
  $addinfo = mysqli_real_escape_string($link, $_POST['additInform']);

// attempt insert query execution
  $sql = "INSERT INTO customerdragon (fName, sName, telNumb, custEmail,
  $location , adultPlus, childPlus, addinfo) VALUES ('$fName', '$sName', '$telNumb', '$custEmail', '$location', '$adultPlus', '$adultPlus', '$childPlus', '$addinfo',  )";
 if(mysqli_query($link, $sql)){
   echo "Records added successfully.";
} else{
   echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
// close connection
mysqli_close($link);
?>`

1 个答案:

答案 0 :(得分:0)

echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);应该抛出一个SQL错误,这是你没有与我们分享的。

在你的价值观中看一下

'$addinfo',
          ^
  • 删除尾随逗号。
  

这是我收到的错误:注意:未定义的索引:第14行的C:\ xampp \ htdocs \ PHPLogInSystem \ insert1.php中的wlocation“

您的列名称$中还有一个$location

$sql = "INSERT INTO customerdragon (fName, sName, telNumb, custEmail,  $location
                                                                       ^
  • 删除美元符号。确保您的列名称确实称为“位置”。

请记住列名$中的$location中的(fName, sName, telNumb, custEmail, $location , adultPlus, childPlus, addinfo)

需要读作:

(fName, sName, telNumb, custEmail, custLocation, adultPlus, childPlus, addinfo)

根据您的数据库架构。

修改

此外,您正在重复'$adultPlus', '$adultPlus',,这将被视为数据输入中的错误计数。

$sql = "INSERT INTO customerdragon 

(fName, sName, telNumb, custEmail, custLocation, adultPlus, childPlus, addinfo) 

VALUES 

  ('$fName', '$sName', '$telNumb', '$custEmail', '$location', '$adultPlus', '$childPlus', '$addinfo')";

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告应仅在暂存时完成,而不是生产。