简体   繁体   中英

HTML Form & PHP Script - Not Submitting Data to MySQL DB Table

I've have a simple HTML contact form and a PHP script to submit the data to a MySQL DB.

Everything seems to be working fine - my browser is showing the data was submitted - except the data doesn't show up in the DB Table in phpMyAdmin. All I see is "MySQL returned an empty result set (ie zero rows)."

Here is the PHP Script:

<?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));
}
}
?>

Here is my HTML form:

 <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> 

Any help or insights would be appreciated. This is my first attempt at using PHP and after struggling with this for a few hours X-) I'm at a loss.

EDIT: Along with the missing backticks identified by Chris - I was missing name="submit" in the form button's HTML.

You are missing a single-quote and a back-tick in your SQL query. It should be:

$insqDbtb="INSERT INTO `db594303259`.`House_Leads`
(`PropertyAddress`, `City`, `State`, `ZipCode`, `AskingPrice`, `Name`,
`Phone`, `Email`) VALUES ('$PropertyAddress', '$City', 
'$State', '$ZipCode', '$AskingPrice', '$Name', '$Phone', '$Email')";

( ZipCode was missing the back-tick and $propertyAddress the single-quote.)

The query will probably work if you correct this.

EDIT: Try this in phpMyAdmin.

INSERT INTO `db594303259`.`House_Leads`
(`PropertyAddress`, `City`, `State`, `ZipCode`, `AskingPrice`, `Name`,
`Phone`, `Email`) VALUES ('test1', 'test2', 
'test3', 'test4', 'test5', 'test6', 'test7', 'test8')

Do you get any errors?

Also, you probably don't need to select the database again in your query. So you can just have:

INSERT INTO `House_Leads` ( ...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM