我有一个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);
?>`
答案 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
旁注:错误报告应仅在暂存时完成,而不是生产。