我有一个简单的HTML联系表单和一个PHP脚本,用于将数据提交到MySQL数据库。
一切似乎都运行良好 - 我的浏览器显示the data was submitted - 除了数据没有显示在phpMyAdmin的数据库表中。我所看到的只是"MySQL returned an empty result set (i.e. zero rows)."
这是PHP脚本:
<?php
$link = mysqli_connect("db.example.com","dbo","*********") or die("failed to connect to server !!");
mysqli_select_db($link,"db");
if(isset($_REQUEST['submit']))
{
$errorMessage = "";
$PropertyAddress=$_POST['PropertyAddress'];
$City=$_POST['City'];
$State=$_POST['State'];
$ZipCode=$_POST['ZipCode'];
$AskingPrice=$_POST['AskingPrice'];
$Name=$_POST['Name'];
$Phone=$_POST['Phone'];
$Email=$_POST['Email'];
// Validation will be added here
if ($errorMessage != "" ) {
echo "<p class='message'>" .$errorMessage. "</p>" ;
}
else{
//Inserting record in table using INSERT query
$insqDbtb="INSERT INTO `db`.`House_Leads`
(`PropertyAddress`, `City`, `State`, `ZipCode, `AskingPrice`, `Name`,
`Phone`, `Email`) VALUES ('$PropertyAddress, '$City',
'$State', '$ZipCode', '$AskingPrice', '$Name', '$Phone', '$Email')";
mysqli_query($link,$insqDbtb) or die(mysqli_error($link));
}
}
?>
这是我的HTML表单:
<form role="form" action="houseleads.php" method="POST" class="contact clearfix">
<p class="text _text text-4">Property Information</p>
<input class="_input _input-1" name="PropertyAddress" placeholder="Property Street Address" type="text">
<div class="container container-2 clearfix">
<input id="city" class="_input" name="City" placeholder="City" type="text">
<input id="state" class="_input _input-3" name="State" placeholder="State" type="text">
</div>
<div class="container container-3 clearfix">
<input id="zipcode" class="_input" name="ZipCode" placeholder="Zip Code" type="text" maxlength="5">
<input id="price" class="_input _input-5" name="AskingPrice" placeholder="Your Asking Price" type="number" step="5000">
</div>
<p class="text _text text-5">Contact Information</p>
<div class="container container-4 clearfix">
<input id="name" class="firstname" name="Name" placeholder="Your Name" type="text">
<input id="phone" class="_input _input-6" name="Phone" placeholder="Phone Number" type="tel" maxlength="10">
</div>
<input id="email" class="_input _input-7" name="Email" placeholder="Email Address" type="email">
<button id="submit" class="_button" type="submit">Get an Offer</button>
</form>
任何帮助或见解将不胜感激。这是我第一次尝试使用PHP,经过几个小时的努力X-)我很茫然。
编辑:除了Chris发现的缺少的反引号 - 我在表单按钮的HTML中缺少name="submit"
。
答案 0 :(得分:1)
您在SQL查询中缺少单引号和反向标记。它应该是:
$insqDbtb="INSERT INTO `db594303259`.`House_Leads`
(`PropertyAddress`, `City`, `State`, `ZipCode`, `AskingPrice`, `Name`,
`Phone`, `Email`) VALUES ('$PropertyAddress', '$City',
'$State', '$ZipCode', '$AskingPrice', '$Name', '$Phone', '$Email')";
(ZipCode
错过了回拨号和$propertyAddress
单引号。)
如果你纠正这个问题,查询可能会有效。
编辑:在phpMyAdmin中尝试此操作。
INSERT INTO `db594303259`.`House_Leads`
(`PropertyAddress`, `City`, `State`, `ZipCode`, `AskingPrice`, `Name`,
`Phone`, `Email`) VALUES ('test1', 'test2',
'test3', 'test4', 'test5', 'test6', 'test7', 'test8')
你有任何错误吗?
此外,您可能不需要在查询中再次选择数据库。所以你可以拥有:
INSERT INTO `House_Leads` ( ...