HTML表格& PHP脚本 - 不向MySQL数据库表提交数据

时间:2015-10-01 21:09:11

标签: php mysqli html-form html-form-post

我有一个简单的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"

1 个答案:

答案 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` ( ...