PHP/Mysqli插入语句不是';t正在写入数据库


PHP / Mysqli Insert Statement isn't writing to database

我的问题是我的PHP插入代码没有写入数据库——我觉得下面的HTML表单会有一个小错误,但我无法放置它。

HTML表单(抱歉缩进)

<form method='post' action='form.php'>
          <div class='form-group'>  
            <input type='email' class='form-control' id='email' placeholder='Email : xyz@domain.com'>
          </div>
          <div class='form-group'>  
            <input type='text' class='form-control' id='name' placeholder='Name : Joe Bloggs'>
          </div>
          <div class='form-group'>
            <input type='textarea' class='form-control' id='message' placeholder='Message : Hey, can you do this job?'>
          </div>
                <button type='submit' class='btn btn-default'>Submit</button>
                </form>

下面是我用来向数据库发送数据的"form.php"代码。

<?php
//PHP Opened
// Insert Data
$username = "username";
$password = "password";
$dbname = "dbname" ;
// Create connection
$con=mysqli_connect("localhost",$username,$password,$dbname);
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
// From Form 
$email = isset($_POST['email']) ? $_POST['email'] : '';
$name = isset($_POST['name']) ? $_POST['name'] : '';
$message = isset($_POST['message']) ? $_POST['message'] : '';
echo '<p>'.$email.'</p>';
$sql="INSERT INTO comment (id, email, name, message)VALUES(null,.$email.,.$name.,.$message.)";
$result = (mysqli_query($con,$sql));
  if (false === $result){
    echo 'failed';
  }
  else{
    echo 'Record added';
  }
mysqli_close($con)
//Close PHP
?>

这是因为您没有为这些标记定义name属性。

新HTML代码:

<form method='post' action='form.php'>
          <div class='form-group'>  
            <input type='email' name='email' class='form-control' id='email' placeholder='Email : xyz@domain.com'>
          </div>
          <div class='form-group'>  
            <input type='text' name='name' class='form-control' id='name' placeholder='Name : Joe Bloggs'>
          </div>
          <div class='form-group'>
            <input type='textarea' name='message' class='form-control' id='message' placeholder='Message : Hey, can you do this job?'>
          </div>
                <button type='submit' name='post' class='btn btn-default'>Submit</button>
                </form>

此外,您需要在PHP中进行一些修复:

<?php
//PHP Opened
// Insert Data
$username = "username";
$password = "password";
$dbname = "dbname" ;
// Create connection
$con=mysqli_connect("localhost",$username,$password,$dbname);
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
// From Form 
if(isset($_POST['post'])) {
    $email = isset($_POST['email']) ? $_POST['email'] : '';
    $name = isset($_POST['name']) ? $_POST['name'] : '';
    $message = isset($_POST['message']) ? $_POST['message'] : '';
    echo '<p>'.$email.'</p>';
    $sql = "INSERT INTO comment (id, email, name, message) VALUES(null, " . $email . " , " . $name . ", " . $message . ")";
$result = (mysqli_query($con,$sql));
  if (false === $result){
    echo 'failed';
  }
  else{
    echo 'Record added';
  }
}
mysqli_close($con)
//Close PHP
?>