我正在尝试创建一个简单的HTML表单,该表单通过MySQL保存信息,但是在连接数据库时遇到了一些问题。我认为$ db_selected = mysql_select_db(DB_NAME,$ link);给我问题。 FYI DB_NAME是我要使用的数据库表。

我的HTML

<form action="demo.php" method="post">
          <div class="form-group">
            <label for="firstname">First Name:</label>
            <input type="text" class="form-control" id="firstname" name="first_name">
          </div>
          <div class="form-group">
            <label for="lastname">Last Name:</label>
            <input type="text" class="form-control" id="lastname" name="last_name">
          </div>
          <div class="form-group">
            <label for="dob">Date of birth:</label>
            <input type="password" class="form-control" id="dob" name="date_of_birth">
          </div>
          <div class="form-group">
            <label for="pob">Place of birth:</label>
            <input type="text" class="form-control" id="pob" name="place_of_birth">
          </div>
          <div class="form-group">
            <label for="government">Your Local government:</label>
            <input type="text" class="form-control" id="government" name="government">
          </div>
          <div class="form-group">
            <label for="qualifications">Qualifications:</label>
            <textarea class="form-control" rows="5" id="qualifications" name="qualifications"></textarea>
          </div>
          <div class="form-group">
            <label for="skills">Skills:</label>
            <textarea class="form-control" rows="5" id="skills" name="skills"></textarea>
          </div>
            <button type="submit" class="btn btn-default">Submit</button>
        </form>


我的PHP

<?php

define('DB_NAME', 'forms1');
define('DB_USER', 'c88888');
define('DB_PASSWORD', '*******');
define('DB_HOST', 's********.com');

$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD);


$db_selected = mysqli_select_db(DB_NAME, $link);

if (!$db_selected) {
    die('Can\'t use ' . DB_NAME . ': ' . mysqli_error());
}

$value = $_POST['first_name'];
$value2 = $_POST['last_name'];
$value3 = $_POST['date_of_birth'];
$value4 = $_POST['place_of_birth'];
$value5 = $_POST['government'];
$value6 = $_POST['qualifications'];
$value7 = $_POST['skills'];

$sql = "INSERT INTO demo (first_name, last_name, date_of_birth, place_of_birth, government, qualifications, skills) VALUES ('$value', '$value2', '$value3', '$value4', '$value5', '$value6', '$value7')";

if (!mysqli_query($sql)) {
    die('Error: ' . mysqli_error());
}

mysqli_close();
?>

最佳答案

只需将您选择了db_select的代码更改为:

$db_selected = mysqli_select_db($link, DB_NAME);


并确保使用准备好的语句或mysqli_real_escape_string()将值输入数据库之前先将其转义,最好用方括号(例如('{$value1}', '{$value2'}))来编写值

关于php - 我的使用PHP和MySQL的HTML表单不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40066646/

10-12 00:14
查看更多